Dela via


Kompilatorvarning (nivå 3) C4018

"token" : signerad/osignerad matchningsfel

Anmärkningar

Använda tokenoperatorn för att jämföra signed och unsigned tal krävde att kompilatorn konverterade signed värdet till unsigned.

Ett sätt att åtgärda den här varningen är om du kastar en av de två typerna när du jämför signed och unsigned typer.

Example

Det här exemplet genererar C4018 och visar hur du åtgärdar det:

// 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;
}

Se även

Kompilatorvarning (nivå 4) C4388
Kompilatorvarning (nivå 4) C4389