C6314
Aviso C6314: ordem incorreta de operações: bit a bit- ou tem precedência maior do que o operador condicional-expression.Adicionar parênteses para esclarecer a intenção
Esta mensagem indica que uma expressão que contenha um bit a bit- ou operador (|) foi detectado na expressão de uma operação condicional testada (?:).
O operador condicional tem menor precedência que operadores bit a bit.Se a expressão testada deve conter o bit a bit- ou o operador e, em seguida, parênteses devem ser adicionados ao redor da expressão condicional.
Exemplo
O código a seguir gera este aviso:
int SystemState();
int f(int SignalValue)
{
return SystemState() | (SignalValue != 0) ? 1 : 0;
}
Para corrigir esse aviso, use o código a seguir:
int SystemState();
int f(int SignalValue)
{
return SystemState() | ((SignalValue != 0) ? 1 : 0);
}