Partilhar via


Erro do compilador C2450

A expressão switch do tipo 'tipo' é ilegal

Observações

A switch expressão é avaliada como um tipo inválido. Ele deve avaliar para um tipo inteiro ou um tipo de classe com conversão inequívoca para um tipo inteiro. Se ele resultar em um tipo definido pelo utilizador, você deverá fornecer um operador de conversão.

Example

O exemplo a seguir gera C2450:

// C2450.cpp
class X
{
public:
   int i;
} x;

class Y
{
public:
   int i;
   operator int() { return i; }   // conversion operator
} y;

int main()
{
   switch ( x )
   {   // C2450, x is not type int
       // try the following line instead
       // switch ( y ) {
       default:  ;
   }
}