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