Warnung C26454

Arithmetischer Überlauf: "Operator"-Vorgang erzeugt zur Kompilierungszeit ein negatives unsigniertes Ergebnis.

Hinweise

Diese Warnung gibt an, dass der Subtraktionsvorgang ein negatives Ergebnis erzeugt, das in einem nicht signierten Kontext ausgewertet wurde, was zu unbeabsichtigten Überläufen führen kann.

Codeanalysename: RESULT_OF_ARITHMETIC_OPERATION_NEGATIVE_UNSIGNED

Beispiel

unsigned int negativeunsigned()
{
    const unsigned int x = 1u - 2u; // C26454 reported here
    return x;
}

So korrigieren Sie die Warnung unter Verwendung des folgenden Codes

unsigned int negativeunsigned()
{
    const unsigned int x = 4294967295; // OK
    return x;
}

Siehe auch

26450
26451
26452
26453
ES.106: Versuchen Sie nicht, negative Werte zu vermeiden, indem Sie nicht signierte Werte verwenden