为什么我不能使用 ||OR C++ Switch 语句中的运算符?

Why can't I use || OR Operator in C++ Switch statement?

本文关键字:语句 运算符 Switch OR 不能 为什么 C++      更新时间:2023-10-16

我一直在用VB工作。NET很多年了,我喜欢这种语言。现在我把自己分散到c++中,我很难掌握c++的逻辑。

请告诉我任何解决方法。非常感谢!

这是一个相当不清楚的问题,但您可能会问为什么不能这样做:

switch(mynumber) { //assuming an int here
  case 1:
    printf("Something.");
    break;
  case 2 || 3: 
    printf("Something else.");
    break;
 }

这不会像你期望的那样工作:c++中的||运算符实际上会执行2 || 3,求值为1。相反,您可以复制case语句:

switch(mynumber) {
  case 1:
    printf("Something.");
    break;
  case 2: 
  case 3: 
    printf("Something else.");
    break;
 }

看起来像VB。. NET支持case语句中的表达式,而c++不支持。