C6281
Ostrzeżenie 6281 - nieprawidłowa kolejność operacji: operatory relacyjne mają wyższy priorytet niż operatory bitowe
To ostrzeżenie wskazuje możliwy błąd pierwszeństwa operatorów.Może to spowodować uzyskanie niepoprawnych wyników.Należy sprawdzić pierwszeństwo i używać nawiasów w celu wyjaśnienia intencji.Operatory relacyjne (<, >, <=, >=, ==, !=) mają wyższy priorytet od operatorów (& | ^).
Przykład
Poniższy kod generuje to ostrzeżenie:
#include <stdlib.h>
#define FORMAT 1
#define TYPE 2
void f(int input)
{
if (FORMAT & TYPE != input)
{
// code...
}
}
W poniższym kodzie użyto nawiasów do naprawienia tego ostrzeżenia:
#include <stdlib.h>
#define FORMAT 1
#define TYPE 2
void f(int input)
{
if ((FORMAT & TYPE) != input)
{
// code...
}
}