【发布时间】:2011-04-24 22:19:42
【问题描述】:
有没有办法让函数相互调用,即
void menu()
{
some code here
play();
...
}
int play()
{
...
menu();
...
return 0;
}
【问题讨论】:
-
你试过了吗?它不适合你吗?
-
是的,我做到了,但没有成功。我是我认识的新手:D
有没有办法让函数相互调用,即
void menu()
{
some code here
play();
...
}
int play()
{
...
menu();
...
return 0;
}
【问题讨论】:
在代码文件的顶部添加第二个函数的声明:
int play();
void menu()
{
// some code here
play();
// ...
}
int play()
{
// ...
menu();
// ...
return 0;
}
这称为forward declaration,它通知编译器稍后将声明一个标识符。
这是一种表示函数的方式,以便您可以在提供完整定义之前调用它。
【讨论】:
if 语句实现。有关递归函数调用的更多信息,请访问here, in a question that was just asked。
是的,但这几乎不是您想要做的,因为粗心的使用会破坏堆栈。
【讨论】: