2011-08-09 1 views
0

Qt에서 두 정수를 비교하려고하면 오류가 발생합니다.C++에서 2 정수 비교

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

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

다른 연산자가 필요합니까? 내가 봤지만 Qt는 같은 것을 사용하는 것으로 보인다. 당신이 보이는,는 "바이너리와"아니다

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

'modus'와'move'는 어떤 타입입니까? –

답변

4

당신이 C + +0 컴파일러를 사용하는 경우, movestd::move()와 충돌 할 수 있습니다. 그게 오류 메시지의 "해결되지 않은 오버로드 된 함수 유형"부분을 일으키는 원인이라고 생각하고 있습니다.

+0

고마워요! QPoint와 충돌합니다. – buddy

+0

+1 : 좋은 생각. –

5

당신은 및 작동을위한 & &를 사용해야합니다 원하는 (& &). '잠정'와 '이동'모두 int 타입이다 가정, 그것을 잘 작동합니다 :

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

나는 그것이 더 좋을 것이라는 데 동의하지만, 여기서는 중요하지 않아야한다. Binary AND는이 특별한 경우에 동일한 결과를 제공합니다. – johndodo

0

사용중인 운영자 (&)를 "논리적"당신의 ansers 주셔서 감사합니다

0

감사합니다.하지만 발견했습니다. 변수 "move"는 QPoint 또는 이와 유사한 것입니다. 방금 varible의 이름이 바뀌었고 모든 것이 잘되고 있습니다. 어쨌든 고마워.