Compartir a través de


Error del compilador C2450

la expresión switch de tipo 'tipo' no es válida

Observaciones

La expresión switch se evalúa como un tipo no válido. Debe evaluarse como un tipo entero o un tipo de clase con una conversión inequívoca en un tipo entero. Si se evalúa como un tipo definido por el usuario, debe proporcionar un operador de conversión.

Example

En el siguiente ejemplo se genera 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:  ;
   }
}