我正在构建一个小游戏。
输入选项之一是重新启动游戏。我能想到的唯一方法是从主函数中调用主函数
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/