Advertencia C6281

Orden incorrecto de las operaciones: los operadores relacionales tienen mayor prioridad que los operadores bit a bit.

Comentarios

Esta advertencia indica un posible error en la prioridad de operadores, lo que podría producir resultados incorrectos. Debe comprobar la prioridad y usar paréntesis para aclarar la intención. Los operadores relacionales (<,>, <=, >===, !=) tienen mayor prioridad que los operadores bit a bit (&, |, ^).

Nombre del análisis de código: BITWISERELATIONPRECEDENCEERROR

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...
  }
}

Consulte también

Advertencia del compilador (nivel 3) C4554