主函数所在cpp:
#include "menu_1.cpp"
#include "menu_2.cpp"
void main(){
char choice;
do{
choice=_getch();
}while(choice!='0'&&choice!='1')
switch(choice)
case '0':
menu_1();
case '1':
menu_2();
}
menu_1()所在menu_1.cpp:
void menu_1(){
//其他操作
char choice;
do{
choice=_getch();
}while(choice!='0'&&choice!='1')
switch(choice)
case '0':
exit(0);
case '1':
menu_2();
}
menu_2()所在menu_2.cpp:
void menu_2(){
//其他操作
char choice;
do{
choice=_getch();
}while(choice!='0'&&choice!='1')
switch(choice)
case '0':
exit(0);
case '1':
menu_1();
}
由于作业需要,必须将menu_1和menu_2放在两个cpp文件中,但按我那样在主函数前声明的话,编译时会在menu_1.cpp中menu_2();那一行显示无法识别标识符menu_2(),哪位老虾帮帮忙,指点下该怎么声明?
编辑环境是VisualStudio2008
把
#include "menu_1.cpp"
#include "menu_2.cpp"
这两句换成
extern void menu_1();
extern void menu_2();
在menu_1.cpp开头加上extern void menu_2();
在menu_2.cpp开头加上extern void menu_1();
还有,你的代码中有语法错误
void main()
{
char choice;
do
{
choice=_getch();
}
while(choice!='0'&&choice!='1'); // 这里要加分号
switch(choice)
{ // switch后面要跟大括号
case '0':
menu_1();
break; // 这里要加break
case '1':
menu_2();
break;
default:;
}
}
main(), menu_1(),menu_2(),都是如此。
此外,不知道你的"menu_1.cpp""menu_2.cpp"是否包含了_getch,exit的头文件
要记得包含上