防止在C++中递归调用main()

Prevent from calling main() recursively in C++(防止在C++中递归调用main())

本文介绍了防止在C++中递归调用main()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个类似于以下代码的代码:

int main()
{
    'some
     code'
     motors();
}

int motors()
{
     if (condition)
     {
          'some
           code'
           main();
     }
     else if (condition)
     {
          'some
           code'
           main();
     }
     else
     {
           main();
     }
}

我可以做些什么来防止反复调用Main?我可以使用Main的代码创建另一个函数吗?

推荐答案

调用main在C++中是未定义的行为。您可以将main中的所有函数包装到另一个函数中。

int main()
{
    wrapper();
}

void wrapper()
{
    //code originally in main
}

当您需要调用main时,请改为调用此包装。

int motors()
{
     if (condition)
     {
         wrapper();
     }

这篇关于防止在C++中递归调用main()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:防止在C++中递归调用main()

基础教程推荐