我正在构建一个小游戏。
输入选项之一是重新启动游戏。我能想到的唯一方法是从主函数中调用主函数

int main(int argc, char argv[]) {
 ...
 if (input == "restart") {
  main(argc, argv);
 }

这是坏形式吗?它甚至会起作用吗?

最佳答案

您不能递归调用 main()。这实际上是未定义的行为。

改用循环:

int main() {
     bool restart = false;
     do {
         // Do stuff ...

         // Set restart according some condition inside of the loop
         if(condition == true) {
             restart = true;
         } // (or simplyfied restart = condtion;)
     } while(restart);
}

关于C++ - 通过调用 main() 函数重新启动游戏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36363704/

10-14 08:37