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;
}
}