Compartilhar via


C6281

Aviso 6281 - ordem incorreta de operações: operadores relacionais têm precedência maior do que os operadores bit a bit

Este aviso indica um possível erro na precedência de operador.Isso pode produzir resultados incorretos.Deverá verificar a precedência e usar parênteses para esclarecer a intenção.Operadores relacionais (<, >, < = >, =, ==,! =) tem precedência maior do que os operadores de 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 este aviso:

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

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

Consulte também

Referência

Compilador C4554 de aviso (nível 3)