Compartir a través de


C6314

Advertencia C6314: Orden incorrecto de las operaciones: el operador OR bit a bit tiene prioridad sobre el operador de expresión condicional.Agregue un paréntesis para clarificar la intención

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

El operador condicional tiene una prioridad más baja que los operadores bit a bit.Si la expresión probada debe contener el operador OR bit a bit, debe poner la expresión condicional entre paréntesis.

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);
} 

Vea también

Referencia

Operador OR inclusivo bit a bit: |

Operador condicional: ? :