C6289
avertissement C6289 : Opérateur inexact : l'exclusion mutuelle sur || est toujours une constante non nulle.Souhaitiez-vous utiliser && à la place ?
Cet avertissement indique que dans une expression de test une variable est testée par rapport à deux constantes différentes et que le résultat varie selon que l'une ou l'autre condition est True.Elle prend toujours la valeur True.
Ce problème est provoqué en général par l'utilisation de || à la place de &&, mais peut également l'être par l'utilisation de != à la place de ==.
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
}
}