Почему MSVC не выдает предупреждение при сравнении знакового/беззнакового ==? ⇐ C++
Почему MSVC не выдает предупреждение при сравнении знакового/беззнакового ==?
Я пытаюсь понять, почему следующий код не выдает предупреждение в указанном месте.
//из лимитов.h #define UINT_MAX 0xffffffff /* максимальное целое число без знака */ #define INT_MAX 2147483647 /* максимальное (со знаком) целое число */ /* = 0x7ffffff */ интервал а = INT_MAX; //_int64 a = INT_MAX; // убирает все предупреждения беззнаковое целое число b = UINT_MAX; бул с = ложь; if(a < b) // предупреждение C4018: '
Я пытаюсь понять, почему следующий код не выдает предупреждение в указанном месте.
//из лимитов.h #define UINT_MAX 0xffffffff /* максимальное целое число без знака */ #define INT_MAX 2147483647 /* максимальное (со знаком) целое число */ /* = 0x7ffffff */ интервал а = INT_MAX; //_int64 a = INT_MAX; // убирает все предупреждения беззнаковое целое число b = UINT_MAX; бул с = ложь; if(a < b) // предупреждение C4018: '
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение