编译器错误 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;
   }
}