从函数C ++返回

时间:2014-10-10 16:44:24

标签: c++ function return

我正在做的是,我正在尝试进行基于文本的测验,我希望当它进入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
}

提前致谢。

2 个答案:

答案 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 ++的异常(throwcatch)机制。

在C中,可以使用setjmp和longjmp`但安全性较低。

通常,这被认为是一个好主意,仅用于错误处理或其他特殊原因,而不是正常操作。

对于正常操作,应该允许函数堆栈通过返回正常展开,直到一个回到main。