Поделиться через


Предупреждение компилятора (уровень 3) C4018

"token" : подписанный или неподписанный несоответствие

Использование оператора токена для сравнения signed и unsigned чисел, необходимых компилятору для преобразования signed значения unsignedв .

Замечания

Одним из способов устранения этого предупреждения является приведение одного из двух типов при сравнении и unsigned типахsigned.

Пример

В этом примере создается C4018 и показано, как исправить его:

// C4018.cpp
// compile with: cl /EHsc /W4 C4018.cpp
int main() {
    unsigned int uc = 0;
    int c = 0;
    unsigned int c2 = c; // implicit conversion

    if (uc < c)           // C4018
        uc = 0;

    if (uc < unsigned(c)) // OK
        uc = 0;

    if (uc < c2)          // Also OK
       uc = 0;
}

См. также

Предупреждение компилятора (уровень 4) C4388
Предупреждение компилятора (уровень 4) C4389