Как сравнить 2 целых числа без предупреждения? - PullRequest
3 голосов
/ 12 января 2010

У меня есть переменная Player1Visits, которая объявлена ​​как int.

Если я попытаюсь сравнить это с 1, используя Player1Visits == 1, я получу предупреждающее сравнение между целым числом и указателем. Должен ли я использовать другой тип?

Ответы [ 3 ]

4 голосов
/ 12 января 2010

Я бы перепроверил, что Player1Visits объявлен как; если вы получаете это предупреждение компилятора, это почти наверняка не int. Возможные варианты включают то, что сказал @aronchick, где Player1Visits - это int* (указатель на int), поэтому вы хотите сравнить, используя:

*Player1Visits == 1

Другая возможность состоит в том, что Player1Visits - это какой-то объект с int свойством , где вы хотите выяснить, какое имя свойства вы хотите и вызвать:

[Player1Visits someIntProperty] == 1

(Последнее предполагает, что вы используете Objective-C, что (я считаю) не лишено смысла, учитывая ваш выбор IDE.)

3 голосов
/ 12 января 2010

Вы не объявили это как int, предупреждение компилятора выдает это. Возможно, вы объявили это как NSInteger *Player1Visits; или int *Player1Visits;.

Если вы так заявили, удалите *.

2 голосов
/ 12 января 2010

Разве вы не хотите сравнивать:

*Player1Visits == 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...