Почему сравнение, если беззнаковое Int> = 0, является «бессмысленным сравнением»?

Я получил предупреждение:

Pe186 «Бессмысленное сравнение unsigned int с нулем»

, когда я пытался скомпилировать следующий код:

for(clLoop = cpLoopStart; clLoop >= 0; clLoop--)                                  
{
    //Do something
}

Я не понимаю, почему. Я мог бы понять, если бы искал значение меньше нуля, поскольку unsigned int никогда не может быть отрицательным. Но все, что я здесь ищу, - это если равно нулю, что определенно может быть у unsigned int .

Я мог бы даже увидеть эту ошибку, если бы в этом цикле я попытался выполнить пре-декремент вместо пост-декремента, но опять же, это не тот случай.

19
задан River 26 July 2016 в 11:35
поделиться