C6281C6281

Avertissement 6281 - ordre des opérations incorrect : les opérateurs relationnels ont une priorité supérieure à celle des opérateurs au niveau du bitWarning 6281 - incorrect order of operations: relational operators have higher precedence than bitwise operators

Cet avertissement indique une erreur possible dans la priorité des opérateurs.This warning indicates a possible error in the operator precedence. Cela peut produire des résultats incorrects.This might produce incorrect results. Vous devez vérifier la priorité et utiliser des parenthèses pour clarifier l’intention.You should check the precedence and use parentheses to clarify the intent. Opérateurs relationnels (<, >, <=, > =, ==, ! =) ont une priorité plus élevée que les opérateurs au niveau du bit (& | ^).Relational operators (<, >, <=, >=, ==, != ) have higher precedence than bitwise operators (& | ^).

ExempleExample

Le code suivant génère cet avertissement :The following code generates this warning:

#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 :The following code uses parentheses to correct this warning:

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

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

Voir aussiSee Also

Avertissement du compilateur (niveau 3) C4554Compiler Warning (level 3) C4554