Compartir a través de


C6314

Actualización: noviembre 2007

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

Bitwise Inclusive OR Operator: |

Conditional Operator: ? :