注册 登录
编程论坛 C++教室

下面程序错误的原因是什么呀

舞动 发布于 2007-08-09 15:30, 780 次点击
error C2447: missing function header (old-style formal list?)





#include<stdio.h>
{
char month_name(int n)
{
static char *name[]={

"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
};
return((n<1||n>12)?name[0]:name[n]);
}
void main()
{
int i;
for(i=0; i<13; i++)
printf("%s\n", month_name(i));

}
}
error C2447: missing function header (old-style formal list?)
4 回复
#2
aipb20072007-08-09 18:20
你外面那个大括号什么意思?很奇怪!
再有你函数的返回类型是char*不是char。
#3
野比2007-08-09 20:52

那个大括号很有意思...表示这里面是函数主体, 外面的是预编译的..
函数头要这么写:
char * month_name(int n)

#4
zhss52007-08-09 22:07
char* month_name(int n)
{
static char *name[]={

"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
};
return((n<1||n>12)?name[0]:name[n-1]);
}

#5
slblake2007-08-10 19:14
请问楼主传上来的是一个小程序呢,还是程序其中的一部分。
如果是整个程序,我觉最外面的那个大括号没什么必要。一部分的话,就另当别论了。
1