Condividi tramite


C6315

Aggiornamento: novembre 2007

C6315

avviso C6315: Ordine errato delle operazioni: l'operatore AND bit per bit ha maggiore precedenza dell'operatore OR bit per bit. Aggiungere delle parentesi per chiarire lo scopo

L'avviso indica che un'espressione in un contesto di test contiene operazioni sia con l'operatore AND bit per bit (&) che con l'operatore OR bit per bit (|) ma ciò determina una costante in quanto l'operatore OR bit per bit viene eseguito per ultimo. Per chiarire lo scopo, è necessario aggiungere parentesi.

Esempio

Il codice seguente genera questo avviso:

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

Per risolvere il problema, aggiungere le parentesi come riportato nel codice seguente:

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