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