Partager via


C6281

Avertissement 6281 : Ordre des opérations incorrect : les opérateurs relationnels ont une priorité plus élevée que les opérateurs de bits

Cet avertissement indique une erreur possible dans la priorité des opérateurs. Cela peut générer des résultats incorrects. Vous devez vérifier la priorité et utiliser des parenthèses pour définir clairement le but recherché. Les opérateurs relationnels (<, >, < =, > =, ==! =) ont une priorité plus élevée que les opérateurs de bits (& | ^).

Exemple

Le code suivant génère cet avertissement :

#include <stdlib.h>
#define FORMAT 1
#define TYPE 2

void f(int input)
{
  if (FORMAT & TYPE != input)
  {
    // code...
  }
}

Le code suivant utilise des parenthèses pour corriger cet avertissement :

#include <stdlib.h>
#define FORMAT 1
#define TYPE 2

void f(int input)
{
  if ((FORMAT & TYPE) != input)
  {
    // code...
  }
}

Voir aussi

Référence

Avertissement du compilateur (niveau 3) C4554