Partager via


Erreur du compilateur C2450

expression switch de type 'type' non conforme

L’expression switch prend la valeur d’un type non valide. Il doit évaluer un type entier ou un type de classe avec une conversion non ambiguë en type entier. S’il prend la valeur d’un type défini par l’utilisateur, vous devez fournir un opérateur de conversion.

L’exemple suivant génère l’erreur 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:  ;
   }
}