Advertencia C6314

Orden incorrecto de las operaciones: bit a bit o tiene mayor prioridad que el operador de expresión condicional. Agregue un paréntesis para aclarar la intención.

Comentarios

Este mensaje indica que se detectó una expresión que contiene un operador or bit a bit (|) en la expresión probada de una operación condicional (?:).

El operador condicional tiene una prioridad menor que los operadores bit a bit. Si la expresión probada debe contener el operador or bit a bit, la expresión condicional debe escribirse entre paréntesis.

Nombre del análisis de código: BITORVSQUESTION

Ejemplo

El código siguiente genera esta advertencia:

int SystemState();

int f(int SignalValue)
{
  return SystemState() | (SignalValue != 0) ? 1 : 0;
}

Para corregir esta advertencia, utilice el código siguiente:

int SystemState();

int f(int SignalValue)
{
  return SystemState() | ((SignalValue != 0) ? 1 : 0);
}

Consulte también