Compartilhar via


C6314

aviso C6314: Ordem incorreta de operações: o ou bit-a-bit têm precedência maior do que o operador de expressão condicional.Adicionar parênteses para esclarecer a intenção

Essa mensagem indica que uma expressão que contém a bit a bit (ou operador|) foi detectado na expressão testada de uma operação condicional (?:).

O operador condicional tem uma precedência mais baixa de operadores bit a bit.Se a expressão testada contenha bit a bit ou operador, os parênteses devem ser adicionados ao redor de condicional- expressão.

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 seguinte código:

int SystemState();

int f(int SignalValue)
{
  return SystemState() | ((SignalValue != 0) ? 1 : 0);
} 

Consulte também

Referência

Operador OR inclusivo bit a bit: |

Operador condicional: ? :