Compartilhar via


C6314

Aviso C6314: Ordem incorreta de operações: bit a bit- ou tem precedência maior do que o operador de expressão condicional.Adicionar parênteses para esclarecer o propósito de

Esta mensagem indica que uma expressão que contenha um operador bit a bit-(operador ou|) 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, entre parênteses devem ser adicionado 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 seguinte código:

int SystemState();

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

Consulte também

Referência

Bitwise Inclusive ou operador: |

Conditional Operador: ? :