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