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