2011-08-09 12 views
0

Qtで2つの整数を比較しようとするとエラーが発生します。C++で2つの整数を比較する

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

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

他の演算子が必要ですか?私はグーグルではありますが、Qtは同じものを使用しているようです。おかげで、あなたのansers

+2

'modus'と' move'はどんなタイプですか? –

答えて

4

あなたがC++ 0xのコンパイラを使用している場合は、movestd::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などに属します。私はちょうど私のvaribleの名前を変更し、すべてうまくやっている。とにかくありがとう。