Avertissement du compilateur (niveau 1) C4806
'opération' : opération risquée : aucune valeur de type 'type' promue en type 'type' ne peut être égale à la constante donnée
Ce message fournit un avertissement contre le code tel que b == 3
, où b
est de type bool
. Les règles de promotion entraînent la promotion de bool
en int
. C’est légal, mais il ne peut jamais être true
. L’exemple suivant génère l’erreur C4806 :
// C4806.cpp
// compile with: /W1
int main()
{
bool b = true;
// try..
// int b = true;
if (b == 3) // C4806
{
b = false;
}
}