vc6.0编译不通过 missing ';' before '<class-head>'

//Function.h

int a=0
class CFunction
{
void AddBlood();
};

报如下错误:
C:\Program Files\Microsoft Visual Studio\MyProjects\dro\Function.h(8) : error C2143: syntax error : missing ';' before '<class-head>'
C:\Program Files\Microsoft Visual Studio\MyProjects\dro\Function.h(8) : fatal error C1004: unexpected end of file found
Function.cpp
C:\Program Files\Microsoft Visual Studio\MyProjects\dro\Function.h(8) : error C2143: syntax error : missing ';' before '<class-head>'
C:\Program Files\Microsoft Visual Studio\MyProjects\dro\Function.h(8) : fatal error C1004: unexpected end of file found
Generating Code...

一、直译:在(标志符)“xxxx”前缺少分号。

二、错误分析:
VC6的编译期最常见的误报,当出现这个错误时,往往所指的语句并没有错误,而是它的上一句语句发生了错误。其实,更合适的做法是编译器报告在上一句语句的尾部缺少分号。上一句语句的很多种错误都会导致编译器报出这个错误。

三、解决办法:
1.上一句语句的末尾真的缺少分号。那么补上就可以了。
2.上一句语句不完整,或者有明显的语法错误,或者根本不能算上一句语句(有时候是无意中按到键盘所致)。
3.如果发现发生错误的语句是cpp文件的第一行语句,在本文件中检查没有错误,但其使用双引号包含了某个头文件,那么检查这个头文件,在这个头文件的尾部可能有错误。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-05-13
int a=0,//这里少了一个逗号
class CFunction
{
   void AddBlood();
}

missing ';' before '<class-head>'这个的意思是在这之前缺少一个逗号

追问

不是吧哥,要加也得是分号吧,我想在头文件定义个全局变量a该怎么弄呢,凡是包含这个头文件的cpp都可以用a。

追答

额 是分号 。。。。你把全部代码发出来看看
关于第二个问题 这里你看看
http://aabbc1122.blog.163.com/blog/static/5704325720129213735293/

本回答被提问者采纳
相似回答