Delen via


Compilerwaarschuwing (niveau 3) C4018

token: ondertekende/niet-ondertekende niet-ondertekende overeenkomst

Opmerkingen

Als u de tokenoperator gebruikt om signed en unsigned getallen te vergelijken, moet de compiler de signed waarde naar unsigned converteren.

Een manier om deze waarschuwing op te lossen is als u een van de twee typen cast wanneer u signed en unsigned typen vergelijkt.

Example

In dit voorbeeld wordt C4018 gegenereerd en ziet u hoe u dit kunt oplossen:

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

Zie ook

Compilerwaarschuwing (niveau 4) C4388
Compilerwaarschuwing (niveau 4) C4389