【发布时间】:2015-01-19 17:16:13
【问题描述】:
一个菜鸟问题:我创建了一个名为 funcoes.h 的库,它有一个 menu() 和其他可以调用 menu() 的函数。一个例子:
void cifrar(){
printf("\n\nDeseja cifrar outra mensagem? Digite 1 para Sim ou 2 para sair: ");
scanf("%d", &exit);
if(exit == 1){
cifrar();
}
else{
menu();
}
}
void menu(){
printf("Escolha uma das opcoes: ");
scanf("%d", &varMenu);
switch(varMenu){
case 1:
system("cls");
cifrar();
break;
case 2:
system("cls");
decifrar();
break;
case 3:
system("cls");
sair();
break;
default:
system("cls");
printf("Escolha uma opcao valida!\n\n");
menu();
break;
}
}
但是当我编译时,我有这个错误:
In function 'void cifrar()'
'menu' undeclared(first use this function)"
'void menu()' used prior to declaration
如何让它们互相调用而不出现这个错误?
谢谢!
【问题讨论】:
-
library called funcoes.h... 真的是这样吗?我有兴趣。 -
你是否在
.h文件的开头声明了所有这些函数的原型? -
你需要先声明函数原型
-
您需要在定义任何其他函数之前定义
void menu()。或者至少向前声明它的函数签名。 -
您必须在头文件
.h文件中声明函数原型(这就是它的名称,而不是库)