C++编译总是出现local function definitions are illegal,求指点

以下程序编译后出现'isMatch':localfunctiondefinitionsareillegal'main':localfunctiondefinitionsa... 以下程序编译后出现'isMatch' : local function definitions are illegal
'main' : local function definitions are illegal
void main()
{
menu();
void CCustomer::Player();
}
int isMatch(int test, int cp_num[] ) //数字相等,则返回1
{
int match = 0;
for (int i=0; i<=5; i++)
if (test == cp_num[i]) match = 1;
cout <<"\n";
return match;
}
展开
 我来答
金色潜鸟
2012-10-17 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5702万
展开全部
menu(); 如果是函数原型,前面应加 void 或 它的类型。
void CCustomer::Player(); 这像c++函数原型声明。
int isMatch 在 main() 之后,那么前面 应加 函数原型声明。

main() 里没有 执行语句,也没有 exit(0); 是不是你所想要的。(语法上是允许的).
如果 CCustomer::Player(); 是函数调用,应写成:
(void) CCustomer::Player();
更多追问追答
追问
这个程序有点长,之前int isMatch()已经定义过了,按照你说的,还是显示
error C2601: 'SuperPlayer': local function definitions are illegal
error C2601: 'main' : local function definitions are illegal
error C2601: 'isMatch' : local function definitions are illegal
fatal error C1004: unexpected end of file found
执行 cl.exe 时出错.
追答
SuperPlayer  -- 哪里出来个新变量名?
unexpected end of file found -- 查花括号配对是否有错,查 分号 是否 多了少了。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wanglixin1001
2012-10-17 · TA获得超过4174个赞
知道大有可为答主
回答量:1758
采纳率:80%
帮助的人:882万
展开全部
请检查你的main函数之前定义的函数的{}是否匹配。一般这种情况出现是因为你main之前定义的函数{}不匹配造成的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
论坛之友asd
2012-10-17 · 超过41用户采纳过TA的回答
知道答主
回答量:103
采纳率:0%
帮助的人:115万
展开全部
main函数体中不能定义函数,只能调用函数,如果要定义函数请在main函数体外面定义!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友77f25cd82
2012-10-17
知道答主
回答量:17
采纳率:0%
帮助的人:2.7万
展开全部
1.如果 CCustomer::Player(); 是函数调用,应写成:
(void) CCustomer::Player();
2.
menu();前面定义了吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
418704194
2012-10-17 · 超过70用户采纳过TA的回答
知道小有建树答主
回答量:316
采纳率:0%
帮助的人:160万
展开全部
我觉得可能是以下三种错误:
main函数请不要使用void
menu在使用前声明
类成员函数不要再main中声明 如果你是想使用 那就去掉void
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式