Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dépassement arithmétique : l’opération 'operator' produit un résultat non signé négatif au moment de la compilation
Notes
Cet avertissement indique que l’opération de soustraction produit un résultat négatif qui a été évalué dans un contexte non signé, ce qui peut entraîner des dépassements inattendus.
Nom de l’analyse du code : RESULT_OF_ARITHMETIC_OPERATION_NEGATIVE_UNSIGNED
Exemple
unsigned int negativeunsigned()
{
const unsigned int x = 1u - 2u; // C26454 reported here
return x;
}
Pour corriger cet avertissement, utilisez le code suivant :
unsigned int negativeunsigned()
{
const unsigned int x = 4294967295; // OK
return x;
}
Voir aussi
C26450
C26451
C26452
C26453
ES.106 : N’essayez pas d’éviter les valeurs négatives à l’aide de unsigned