我正在做的是,我正在尝试进行基于文本的测验,我希望当它进入Game Over时,玩家可以选择退出测验或从头开始重启,但它会在内部询问功能。我无法在这里提供代码,因为它超过数百行,所以基本上我想要做的是能够退出程序或通过返回到int main的顶部重新启动它,但执行此操作的选项将是在一个函数内部。
例如:
void Answer
{
Enter 1 to exit and enter to 2 restart
//player inputs number and there is an if else statement
if number == 1
{
return (0);
}
else if number == 2
{
return main();
}
int main()
{
question
}
提前致谢。
答案 0 :(得分:1)
也许你可以使用while循环而不使用函数。
int restart(0);
while(restart==1)
{
// do your quizz
cout << "Press 1 to restart, 2 to stop" << endl;
cin << restart;
// Some test to see if the right thing was put in the restart variable
}
那不行吗?
很抱歉,如果我误解了这个问题..
答案 1 :(得分:-1)
执行您想要做的事情的唯一方法是使用C ++的异常(throw
和catch
)机制。
在C中,可以使用setjmp
和longjmp`但安全性较低。
通常,这被认为是一个好主意,仅用于错误处理或其他特殊原因,而不是正常操作。
对于正常操作,应该允许函数堆栈通过返回正常展开,直到一个回到main。