我有一个开关声明:
swtich(x)
{
case 1:
...
break;
case 2:
...
break;
}
我想把...
代码放在一个函数中,但我想把它放在那里......所以我想要那样的东西
void func()
{
...;
break;
}
swtich(x)
{
case 1:
func();
case 2:
func();
}
Break给出了错误(我知道为什么),但我能做什么?
答案 0 :(得分:2)
你做不到。你能做的最好的是:
swtich(x)
{
case 1:
func();
break;
case 2:
func();
break;
}
有关休息的讨论,请参阅here:
break语句终止它出现的最近的封闭循环或switch语句。控制权将传递给终止语句后面的语句(如果有)。
如果你把它放在一个函数中,它将如何知道它应该应用于哪个循环或switch语句?
答案 1 :(得分:2)
您不能将break
放在另一种方法中。
虽然您希望case 1
和case 2
做同样的事情,但这是合法的:
switch (x)
{
case 1:
case 2:
func();
break;
}
答案 2 :(得分:2)
正如其他人所说,这是不可能的。以这种方式看待,当执行到达break;
行时,如果你不在switch语句中,那么预期的行为会是什么?
在函数调用后放置break;
语句。如果希望函数在给定条件下停止执行,请使用return;
语句。
答案 3 :(得分:1)
不要在中断函数。简单明了。
switch(x)
{
case 1:
func();
break;
case 2:
func();
break;
}