2011-08-09 79 views
0

當我嘗試比較Qt中的兩個整數時,出現錯誤。比較C++中的2個整數

if ((modus==2) & (move != -1)) 

error: invalid operands of types '<unresolved overloaded function type>' and 'int' to binary 'operator!=' 

我需要其他操作員嗎?我用Google搜索了一下,但似乎Qt使用相同的。感謝您的ansers

+2

'modus'和'move'是什麼類型? –

回答

4

如果您正在使用的C++ 0x編譯器,move可能與std::move()衝突。我在想這是什麼導致錯誤信息的「無法解析的重載函數類型」部分。

+0

謝謝!它與QPoint衝突。 – buddy

+0

+1:好想法。 –

5

您應該使用& &爲和操作:

if ((modus==2) && (move != -1)) 
+0

我同意這會更好,但在這裏沒關係。二進制AND在這個特定情況下給出相同的結果。 – johndodo

0

您正在使用的運營商(&)是「二進制和」,而不是「邏輯和」你似乎想要(& &)。假設這兩個「作案」和「移動」是int類型,它應該很好地工作:

if (modus==2 && move!=-1) { 
    // stuff 
} 
0

感謝你,但我找到了。變量「move」屬於QPoint或類似的東西。我只是重命名了我的變數,一切都很好。不管怎麼說,還是要謝謝你。