Compilerfehler C2050

Switch-Ausdruck ist keine Ganzzahl

Der switch-Ausdruck ergibt keine ganze Zahl. Um den Fehler zu beheben, verwenden Sie in switch-Anweisungen ausschließlich ganzzahlige Werte.

Im folgenden Beispiel wird C2050 generiert:

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

Mögliche Lösung:

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