Должен ли я отключить компилятор C предупреждение о несоответствии со знаком / без знака? - PullRequest
15 голосов
/ 05 февраля 2009

Компилятор Microsoft C предупреждает, когда вы пытаетесь сравнить две переменные, одна из которых подписана, а другая - без знака. Например:

int a;    
unsigned b;

if ( a < b ) { // warning C4018: '&lt;' : signed/unsigned mismatch

}

Было ли это предупреждение в мировой истории когда-либо улавливать настоящую ошибку? Во всяком случае, почему это там?

Ответы [ 11 ]

0 голосов
/ 05 февраля 2009

Просто один из многих способов, которыми C позволяет вам выстрелить себе в ногу - вам лучше знать, что вы делаете. Цитата C приписывается Бьярне Страуструпу , создателю C ++ .

...