Freigeben über


Compilerwarnung (Ebene 4, aus) C4388

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

Hinweise

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.

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

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 es wird gezeigt, wie es behoben werden kann.

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