我一直在开发一个使用 switch()
函数的项目,如下所示:
switch (selectedMenu) {
case 1:
switch (selectedIndex) {
case 0:
invisibility = !invisibility;
break;
case 1:
invincibility = !invincibility;
break;
case 2:
superjump = !superjump;
break;
case 3:
//Option 4
break;
case 4:
//Option 5
break;
}
case 2:
switch (selectedIndex) {
case 0:
//Option 2
break;
case 1:
//Option 2
break;
case 2:
//Option 3
break;
case 3:
//Option 4
break;
case 4:
//Option 5
break;
}
case 3:
switch (selectedIndex) {
case 0:
//Option 2
break;
case 1:
//
break;
case 2:
//Option 3
break;
case 3:
//Option 4
break;
case 4:
//Option 5
break;
}
case 4:
switch (selectedIndex) {
case 0:
//Option 2
break;
case 1:
//Option 2
break;
case 2:
//Option 3
break;
case 3:
//Option 4
break;
case 4:
//Option 5
break;
}
case 5:
switch (selectedIndex) {
case 0:
//Option 2
break;
case 1:
SET_ENTITY_COORDS(pedID, -75.015, -818.215, 326.176);
break;
case 2:
//Option 3
break;
case 3:
//Option 4
break;
case 4:
//Option 5
break;
}
}
我的代码遇到了一个错误。
问题
在 case 5 -> case 1
中有这一行:SET_ENTITY_COORDS(pedID, -75.015, -818.215, 326.176);
应该将一个实体传送到某个位置.当我在这个传送案例上面的任何案例中使用一个选项时,它也会传送实体,即使它不是在这种情况下。
很难解释,所以让我们画一张图:
我该如何调整它,让它只启用我在案例中指定的功能,而不启用它上面的所有功能?
(我该如何调整它,使其只启用 super 跳跃,而不是同时启用 super 跳跃和传送用户?)
最佳答案
您的外部 switch
案例需要 break
语句:
switch (selectedMenu) {
case 1:
switch (selectedIndex) {
// blah, blah, blah...
}
break; // <-- this
case 2:
switch (selectedIndex) {
// blah, blah, blah...
}
break; // <-- this
case 3:
switch (selectedIndex) {
// blah, blah, blah...
}
break; // <-- this
case 4:
switch (selectedIndex) {
// blah, blah, blah...
}
break; // <-- this
case 5:
switch (selectedIndex) {
// blah, blah, blah...
}
break; // <-- this
}
关于C++ 开关 () 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48593216/