C++ switch 语句 - 在 case 之间跳转

Xuh*_*ang 3 c++ goto switch-statement

在C++中,我可以做类似下面代码的事情吗?

在某个具体案例中,如果满足某些条件,是否可以跳转到另一个案例?

switch (tag) {
    case 1: { 
        // do something
        break;
    }
    case 2: {  
        if (/* condition */) {
            // Can I somehow jump to case 1?
        }
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

小智 5

这不是最好的方法,但可以解决您的问题。

switch (tag) {
    case 1: {
    case1:
        printf("hello");
        break;
    }
    case 2: {
        if () {
            // you can use goto statement
            goto case1;
        }
        break;
    }
}

Run Code Online (Sandbox Code Playgroud)