Почему я получаю предупреждение компилятора за это условие? - PullRequest
1 голос
/ 09 августа 2011
if(nowPlayingIndex-1 >= 0){ }

Я использую это условие в функции и получаю следующее предупреждение компилятора в xCode:

Сравнение выражения без знака> = 0 всегда верно.

Как это может быть правдой? Если значение nowPlayingIndex равно <= 0, то указанное выше условие ложно.

Большое спасибо.

Ответы [ 11 ]

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

Если nowplayingindex не подписано, оно не может быть < 0. И если я вычту 1, то беззнаковая победа и я получу максимально возможное значение для этого типа данных, все еще будучи положительным числом.

Вы должны работать со значениями со знаком или приводить их к таким значениям.

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