Avertissement C6289
Opérateur incorrect : l’exclusion mutuelle est
||
toujours une constante non nulle. Avez-vous l’intention d’utiliser&&
à la place ?
Notes
Cet avertissement indique que dans une expression de test, une variable est testée comme inégale à deux constantes différentes. Le résultat dépend de l’une ou l’autre condition étant true, mais elle prend toujours la valeur true.
Ce problème est souvent dû à l’utilisation ||
à la place de &&
, mais peut également être dû à l’utilisation de l’endroit !=
prévu ==
.
Nom de l’analyse du code : MUTUALEXCLUSIONOVERORISTRUE
Exemple
Le code suivant génère cet avertissement :
void f(int x)
{
if ((x != 1) || (x != 3))
{
// code
}
}
Pour corriger cet avertissement, utilisez le code suivant :
void f(int x)
{
if ((x != 1) && (x != 3))
{
// code
}
}
/* or */
void f(int x)
{
if ((x == 1) || (x == 3))
{
// code
}
}
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour