Сравнение 2 целых чисел в C ++ - PullRequest
0 голосов
/ 09 августа 2011

Я получаю ошибку, когда пытаюсь сравнить два целых числа в Qt.

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

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

Нужны ли другие операторы?Я гуглил, но похоже, что Qt использует то же самое.Спасибо за ваши ansers

Ответы [ 4 ]

5 голосов
/ 09 августа 2011

Вы должны использовать && для операции and:

if ((modus==2) && (move != -1))
4 голосов
/ 09 августа 2011

Если вы используете компилятор C ++ 0x, move может конфликтовать с std::move().Я думаю, что это то, что вызывает «неразрешенную перегруженную функцию» часть сообщения об ошибке.

0 голосов
/ 10 августа 2011

Спасибо тебе, но я нашел это. Переменная «ход» принадлежит QPoint или что-то вроде этого. Я просто переименовал свою переменную, и все идет хорошо. В любом случае, спасибо.

0 голосов
/ 09 августа 2011

Оператор, который вы используете (&), является «двоичным и», а не «логическим и», как вы, кажется, хотите (&&).Предполагая, что 'modus' и 'move' имеют тип int, все должно работать нормально:

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