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