是有办法的功能打电话给对方即C++函数问题
void menu()
{
some code here
play();
...
}
int play()
{
...
menu();
...
return 0;
}
是有办法的功能打电话给对方即C++函数问题
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,并通知标识符将在稍后宣布的编译器。
这是一种表示函数的方法,以便您在提供完整定义之前可以调用它。
从技术上讲,这是一个很好的答案,但实际上它会导致堆栈溢出。 – 2011-04-24 14:35:30
对。你必须确保函数内部有一些逻辑阻止他们无限地调用对方。这会产生无限循环和堆栈溢出错误。这可以像使用“if”语句实现的警卫原因一样简单。有关递归函数调用的更多信息可用[在这里,刚刚被问到的问题](http://stackoverflow.com/questions/5770597/recursive-loop-c)。 – 2011-04-24 14:52:47
是的,但是这是几乎从来没有你想,因为不小心使用将打破栈做什么。
你试过了吗?它不适合你吗? – 2011-04-24 14:09:52
是的,我做了,但没有奏效。我是一个新手,我知道:D – Martin 2011-04-24 14:17:30