Предупреждение компилятора (уровень 4, выключен) C4388
"token" : подписанный или неподписанный несоответствие
Использование оператора токена для сравнения signed
и большего unsigned
числа требуется компилятору для преобразования signed
значения в более крупный unsigned
тип.
Замечания
Одним из способов устранения этого предупреждения является приведение одного из двух типов при сравнении signed
и более unsigned
крупных типах.
Это предупреждение отключено по умолчанию. Вы можете использовать /Wall или /w44388
включить его в командной строке как предупреждение уровня 4. Или используйте #pragma warning(default:4388)
в исходном файле. Дополнительные сведения см. в разделе "Предупреждения компилятора", отключенные по умолчанию.
Пример
В этом примере создается C4388 и показано, как исправить его:
// C4388.cpp
// compile with: cl /EHsc /W4 C4388.cpp
#pragma warning(default: 4388)
int main() {
unsigned long long uc = 0;
int c = 0;
unsigned long long c2 = c; // implicit conversion
if (uc < c) // C4388
uc = 0;
if (uc < (unsigned long long)(c)) // OK
uc = 0;
if (uc < c2) // Also OK
uc = 0;
}
См. также
Предупреждение компилятора (уровень 3) C4018
Предупреждение компилятора (уровень 4) C4389