Partager via


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 
  }
}