Поделиться через


Ошибка компилятора C2450

Выражение switch типа "type" является недопустимым

Замечания

Выражение switch оценивается как недопустимый тип. Он должен оцениваться как целочисленный тип или тип класса с однозначной преобразованием в целочисленный тип. Если он оценивается в определяемом пользователем типе, необходимо указать оператор преобразования.

Example

В следующем примере создается 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:  ;
   }
}