Sdílet prostřednictvím


Chyba kompilátoru C2050

switch expression not integral

Výraz switch se vyhodnotí jako neintegerová hodnota. K vyřešení chyby použijte pouze celočíselné hodnoty v příkazech switch.

Následující ukázka vygeneruje C2050:

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

Možné řešení:

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