今天遇到了这个错误,搜了一下,发现是头文件里一个类定义的最后少了分号。
下面是一个网摘 ,给了我找到问题所在的思想,如下:
当头文件无法完成预处理的时候,就会报这个错误,错误位置在main函数的声明处,因为无法完成预处理,也就无法开始编译主函数。
举个简单的例子:右侧是一个最常见的,也是最基本的C++程序。如果,在头文件print.h中,将
void print(void);
后面的分号去掉,就会产生这样的错误:
error :expected initializer before "int"。
本文解析了一个常见的C++编译错误:expected initializer before 'int',并详细介绍了如何通过检查头文件中的类定义来定位问题根源,强调了分号在声明结束时的重要性。
1万+





