C6281
Aviso 6281 - ordem incorreta de operações: operadores relacionais tem precedência maior do que os operadores bit a bit
Este aviso indica um possível erro na precedência da operador.Isso pode produzir resultados incorretos.Você deve verificar a precedência e usar parênteses para esclarecer o objetivo.Operadores relacionais (<>,, < =, > =, = =,! =) têm precedência maior do que os operadores bit a bit (& | ^).
Exemplo
O código a seguir gera este aviso:
#include <stdlib.h>
#define FORMAT 1
#define TYPE 2
void f(int input)
{
if (FORMAT & TYPE != input)
{
// code...
}
}
O código a seguir usa parênteses para corrigir esse aviso:
#include <stdlib.h>
#define FORMAT 1
#define TYPE 2
void f(int input)
{
if ((FORMAT & TYPE) != input)
{
// code...
}
}