error :expected initializer before

今天遇到了这个错误,搜了一下,发现是头文件里一个类定义的最后少了分号。

 

下面是一个网摘 ,给了我找到问题所在的思想,如下:

 

当头文件无法完成预处理的时候,就会报这个错误,错误位置在main函数的声明处,因为无法完成预处理,也就无法开始编译主函数。

     举个简单的例子:右侧是一个最常见的,也是最基本的C++程序。如果,在头文件print.h中,将

void print(void);

后面的分号去掉,就会产生这样的错误:

error :expected initializer before "int"。

 

/*=============================== *File name : main.cpp */ #include #include "print.h" //------------------------------- int main(int argc, char *argv[]) { print(); system("PAUSE"); return 0; } //=============================== /*=========================== * File name : print.h */ #include //--------------------------- void print(void); //=========================== /*======================================== * File name : print.cpp */ #include"print.h" //---------------------------------------- void print( void ) { std::cout<<"Hello World!"<

你可能感兴趣的:(file,system,c)