Partager via


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