Avertissement C6281

Ordre incorrect des opérations : les opérateurs relationnels ont une priorité plus élevée que les opérateurs au niveau du bit

Notes

Cet avertissement indique une erreur possible dans la priorité de l’opérateur, ce qui peut produire des résultats incorrects. Vous devez case activée la priorité et utiliser des parenthèses pour clarifier l’intention. Les opérateurs relationnels (<, , >, ==<=>=, !=) ont une priorité plus élevée que les opérateurs au niveau du bit (&, |, ^).

Nom de l’analyse du code : BITWISERELATIONPRECEDENCEERROR

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

Avertissement du compilateur (niveau 3) C4554