Sam*_*ved 3 c c++ program-entry-point
我有类似的代码如下:
int main()
{
'some
code'
motors();
}
int motors()
{
if (condition)
{
'some
code'
main();
}
else if (condition)
{
'some
code'
main();
}
else
{
main();
}
}
Run Code Online (Sandbox Code Playgroud)
我该怎么办才能防止一次又一次地调用main?我可以使用main的代码创建另一个函数吗?
调用main是C++中未定义的行为.您可以将最初的所有函数包装main到另一个函数中.
int main()
{
wrapper();
}
void wrapper()
{
//code originally in main
}
Run Code Online (Sandbox Code Playgroud)
无论何时需要调用main,都要调用此包装器.
int motors()
{
if (condition)
{
wrapper();
}
Run Code Online (Sandbox Code Playgroud)