今天遇到了这个错误,搜了一下,发现是头文件里一个类定义的最后少了分号。
下面是 ,给了我找到问题所在的思想,如下:
当头文件无法完成预处理的时候,就会报这个错误,错误位置在main函数的声明处,因为无法完成预处理,也就无法开始编译主函数。
举个简单的例子:右侧是一个最常见的,也是最基本的C++程序。如果,在头文件print.h中,将
void print(void);
后面的分号去掉,就会产生这样的错误:
error :expected initializer before "int"。