Compartir a través de


C6281

Actualización: noviembre 2007

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. Los operadores relacionales (<, >, < =, > =, ==! =) tienen una prioridad más alta 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