C6315

Aviso C6315: Ordem incorreta de operações: bit a bit- e tem precedência maior do que o bit a bit- ou. Adicionar parênteses para esclarecer a intenção

Este aviso indica que uma expressão em um contexto de teste contém ambos bit a bit- e (&) e bit a bit- ou (|) operações, mas faz com que uma constante, porque o bit a bit- ou operação acontece pela última vez. Parênteses devem ser adicionados para esclarecer a intenção.

Exemplo

O código a seguir gera este aviso:

void f( int i )
{
  if ( i & 2 | 4 ) // warning
  {
    // code
  }
}

Para corrigir esse aviso, adicione parêntese, conforme mostrado no código a seguir:

void f( int i )
{
  if ( i & ( 2 | 4 ) )
  {
    // code
  }
}