Compartilhar via


Aviso do compilador (nível 1) C4806

'operation': operação não segura: nenhum valor do tipo 'type' promovido ao tipo 'type' pode igualar a constante fornecida

Esta mensagem avisa contra código como b == 3, em que b tem o tipo bool. As regras de promoção fazem com que bool seja promovido para int. Isso é válido, mas nunca pode ser true. O seguinte exemplo gera o aviso C4806:

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

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