Avviso del compilatore (livello 1) C4806

'operation': operazione non affidabile: nessun valore di tipo 'type' promosso al tipo 'type' può eguagliare la costante data

Questo messaggio fornisce un avviso su codice come b == 3, dove b è di tipo bool. Le regole di promozione causano la promozione di bool a int. Questo è legale, ma non può mai essere true. L'esempio seguente genera l'errore C4806:

// C4806.cpp
// compile with: /W1
int main()
{
   bool b = true;
   // try..
   // int b = true;

   if (b == 3)   // C4806
   {
      b = false;
   }
}