Freigeben über


Compilerwarnung (Ebene 3) C4018

'token' : Übereinstimmungsfehler zwischen Vorzeichen-/Ohne-Vorzeichen-Typen

Hinweise

Die Verwendung des Tokenoperators zum Vergleichen signed und unsigned Zahlen erforderte, dass der Compiler den signed Wert unsignedin konvertiert.

Eine Möglichkeit, diese Warnung zu beheben, ist, wenn Sie einen der beiden Typen beim Vergleichen und signed Typen umwandelnunsigned.

Beispiel

In diesem Beispiel wird C4018 generiert und veranschaulicht, wie es behoben werden kann:

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

Siehe auch

Compilerwarnung (Ebene 4) C4388
Compilerwarnung (Ebene 4) C4389