编译器警告(等级 1)C4145

“expression1”: 关系表达式用作 switch 表达式;可能和“expression2”混淆

switch 语句使用关系表达式作为其控制表达式,这会导致 case 语句的布尔值。 是否希望使用 expression2?

示例

下面的示例生成 C4145:

// C4145.cpp
// compile with: /W1
int main() {
   int i = 0;
   switch(i == 1) {   // C4145, use i instead of i == 1 to resolve
      case 1:
         break;
      default:
         break;
   }
}