Avviso C6315

Ordine errato delle operazioni: bit per bit e ha una precedenza maggiore rispetto a bit per bit o. Aggiungere parentesi per chiarire la finalità

Osservazioni:

Questo avviso indica che un'espressione in un contesto di test contiene operazioni bit per bit e () e bit& per bit o (|), ma causa una costante perché l'operazione bit per bit o si verifica per ultimo. Le parentesi devono essere aggiunte per chiarire la finalità.

Nome dell'analisi del codice: BITORVSBITAND

Esempio

Il codice seguente genera questo avviso:

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

Per correggere questo avviso, aggiungere parentesi come illustrato nel codice seguente:

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