我搜索了主题,但我无法找到答案。
我有两个功能,例如
int login_call, main_call;
// main screen //
void mainscreen(int x)
{
loginscreen(login_call);
}
// login screen //
void loginscreen(int y)
{
mainscreen(main_call);
}
我的问题是我在登录屏幕的主屏幕和主屏幕中调出登录屏幕,但它不起作用,因为首先解析第一个功能时,会出现一个错误,即您的登录屏幕未被声明..并且当我切换上面这两个函数的位置时,错误来自未声明主屏幕。请建议我调用不依赖于声明顺序的函数的方法。
谢谢!
答案 0 :(得分:3)
转发声明:
int login_call, main_call;
void loginscreen(int);
void mainscreen(int x)
{
loginscreen(login_call);
}
void loginscreen(int y)
{
mainscreen(main_call);
}
但是,你需要找到一种方法来结束这种无限递归。
答案 1 :(得分:0)
您可以在定义函数之前声明它:
int login_call, main_call;
//declare login screen function here so mainscreen() can call it
void loginscreen(int y);
// main screen //
void mainscreen(int x)
{
loginscreen(login_call);
}
// login screen //
void loginscreen(int y)
{
mainscreen(main_call);
}