Freigeben über


Compilerwarnung (Ebene 3) C4018

'token' : signed/unsigned mismatch

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

Hinweise

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

Beispiel

In diesem Beispiel wird C4018 generiert und veranschaulicht, wie Sie es beheben können:

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