Freigeben über


Compilerwarnung (Ebene 4, aus) C4388

'token' : signed/unsigned mismatch

Die Verwendung des Tokenoperators zum Vergleichen einer signed und einer größeren unsigned Zahl erforderte, dass der Compiler den Wert in den signed größeren unsigned Typ konvertiert.

Hinweise

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

Diese Warnung ist standardmäßig deaktiviert. Sie können /Wall verwenden oder /w44388 in der Befehlszeile als Warnung der Ebene 4 aktivieren. Oder verwenden Sie #pragma warning(default:4388) sie in Ihrer Quelldatei. Weitere Informationen finden Sie unter Compilerwarnungen, die standardmäßig deaktiviert sind.

Beispiel

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

// C4388.cpp
// compile with: cl /EHsc /W4 C4388.cpp
#pragma warning(default: 4388)

int main() {
    unsigned long long uc = 0;
    int c = 0;
    unsigned long long c2 = c; // implicit conversion

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

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

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

Siehe auch

Compilerwarnung (Ebene 3) C4018
Compilerwarnung (Ebene 4) C4389