3
我已經超載了&
和*
。如果我這樣做:操作員過載需要括號
hgh=(xxx&yy)*vprod1;
它按預期工作。
如果我這樣做:
hgh=xxx&yy*vprod1;
我得到一個編譯錯誤Invalid operands to binary expression.
編譯器如何閱讀:hgh=xxx&yy*vprod1;
- 那不是移動從左至右,就像在上面的例子中,括號?如果圓括號位於表達式的不同部分,我可以理解編譯器如何讀取它們的差異,但爲什麼在這裏適用?
應該值得注意的是,這兩種過載的返回值是相同的,並返回相同類型xx
和yy
是在該計算中。
但是,如果運營商是在問題中描述的聲明,我仍然不明白爲什麼有關於無效操作數的錯誤消息。 – jogojapan
@jogojapan錯誤可能是指'operator ='?我同意這很奇怪,其他的東西可能會在那裏... –
可能。它可能不再重要(答案已被接受),但我覺得這個問題有一個缺失。 – jogojapan