【发布时间】:2017-01-31 03:35:44
【问题描述】:
我刚刚完成了一个通过终端控制台命令运行的图像编辑器。编辑图像后,我试图让整个程序(通过 main() 方法)再次运行,但我对如何这样做有点困惑。 这是我尝试重新运行代码的方法。
void rerun()
{
cout << "Would you like to alter another image? (Y/N) ";
string answer;
getline(cin, answer);
while (answer != "Y" || answer != "N")
if (answer == "N") {
return;
}
if (answer == "Y") {
main();
}
}
这并没有给我任何东西。我需要解决什么问题?
【问题讨论】:
-
调用
main()是未定义的行为。改用循环或将main()中的代码移动到函数中。 -
我刚刚通过在线 c++ 代码格式化程序运行了代码。我已经在 c++ 标签下做了几百次来修复格式错误的代码。
-
@abelenky 不确定。 C++ 标准 3.6.1:
The function main shall not be used within a program.究竟在哪里说调用 main 是未定义的行为?