Avertissement C6288
Opérateur incorrect : l’inclusion mutuelle sur &&& est toujours égale à zéro. Avez-vous l’intention d’utiliser || Place?
Notes
Cet avertissement indique que dans une expression de test, une variable est testée par rapport à deux constantes différentes. Le résultat dépend des deux conditions qui sont vraies, ce qui est impossible. Le code dans ces cas indique que l’intention du programmeur n’est pas capturée correctement. Il est important d’examiner le code et de corriger le problème. Sinon, votre code ne se comporte pas comme vous l’attendiez.
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 : MUTUALINCLUSIONOVERANDISFALSE
Exemple
Le code suivant génère cet avertissement :
void f(int x)
{
if ((x == 1) && (x == 2)) // warning
{
// code ...
}
}
Pour corriger cet avertissement, utilisez le code suivant :
void f(int x)
{
if ((x == 1) || (x == 2))
{
// logic
}
/* or */
if ((x != 1) && (x != 2))
{
// code ...
}
}
L’outil d’analyse n’avertit pas si l’expression a des effets secondaires.
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