在C ++中比较2个整数

时间:2011-08-09 11:02:38

标签: c++ operators equality

当我尝试比较Qt中的两个整数时,我收到错误。

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

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

我需要其他运营商吗?我用谷歌搜索,但似乎Qt使用相同的。谢谢你的ansers

4 个答案:

答案 0 :(得分:5)

你应该使用&amp;&amp;为和操作:

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

答案 1 :(得分:4)

如果您使用的是C ++ 0x编译器,move可能会与std::move()冲突。我在想这是导致错误消息中“未解决的重载函数类型”部分的原因。

答案 2 :(得分:0)

您正在使用的运算符(&amp;)是“二进制和”,而不是您想要的“逻辑和”(&amp;&amp;)。假设'modus'和'move'都是int类型,它应该可以正常工作:

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

答案 3 :(得分:0)

谢谢你,但我找到了。变量“move”属于QPoint或类似的东西。我刚刚改名为变数,一切都很好。不管怎样,谢谢。