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


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

Выражение switch не целочисленное

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

Следующий пример приводит к возникновению ошибки C2050:

// C2050.cpp
int main() {
   int a = 1;
   switch ("a") {   // C2050
      case 1:
         a = 0;
      default:
         a = 2;
   }
}

Возможное решение

// C2050b.cpp
int main() {
   int a = 1;
   switch (a) {
      case 1:
         a = 0;
      default:
         a = 2;
   }
}