Ostrzeżenie C26454
Przepełnienie arytmetyczne: operacja "operator" generuje ujemny wynik niepodpisany w czasie kompilacji
Uwagi
To ostrzeżenie wskazuje, że operacja odejmowania generuje negatywny wynik, który został oceniony w kontekście niepodpisanym, co może spowodować niezamierzone przepełnienia.
Nazwa analizy kodu: RESULT_OF_ARITHMETIC_OPERATION_NEGATIVE_UNSIGNED
Przykład
unsigned int negativeunsigned()
{
const unsigned int x = 1u - 2u; // C26454 reported here
return x;
}
Aby poprawić to ostrzeżenie, użyj następującego kodu:
unsigned int negativeunsigned()
{
const unsigned int x = 4294967295; // OK
return x;
}
Zobacz też
26450
26451
26452
26453
ES.106: Nie próbuj unikać wartości ujemnych przy użyciu niepodpisanych