Compartir a través de


C6281

Advertencia 6281: Orden incorrecto de operaciones: los operadores relacionales tienen mayor prioridad que los operadores bit a bit

Esta advertencia indica un posible error en la prioridad de los operadores.Esto podría generar resultados incorrectos.Debe comprobar la prioridad y el uso de los paréntesis para clarificar la intención.Operadores relacionales (<, >, <=, >=, ==, != ) tiene mayor prioridad que los operadores bit a bit (& | ^).

Ejemplo

El código siguiente genera esta advertencia:

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

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

El código siguiente utiliza paréntesis para corregir esta advertencia:

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

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

Vea también

Referencia

Advertencia del compilador (nivel 3) C4554