Qt调试 error:expected.........

来源:互联网 发布:电影特效软件 编辑:程序博客网 时间:2024/06/10 21:25

在编译程序时遇到两个问题,第一个是expected initializer before * token:

解决方法:查阅了网上的很多博客,都说是和头文件有关系,但是检查了头文件,应该是没有问题的,但还是尝试了一下更改包含头文件的方法,还是没用,最后把.h文件和.cpp文件都从工程中删除,然后重新添加,编译后不再报错(这个错误我也很无语),但是出现了新的问题。

第二个报错expected class-name before ‘{’ token
这个错误是在一个继承类中遇到的,也应该是头文件引起的问题。继承类的头文件中就include了一个基类的头文件,所以去检查基类的头文件,果然有问题,是一个隐藏的头文件依赖,造成了头文件的相互包含。

在一个全局变量的头文件中包含了子类的头文件
子类的头文件中包含了基类的头文件
基类的头文件中又包含了全局变量的头文件
这是一个隐藏的相互包含关系,不容易发现

解决方法:在基类的头文件中,去掉包含的全局变量头文件,在基类的CPP文件中包含全局变量的头文件,这样就不会相互包含了。

写的比较乱,调了好久的错误,自己备忘用…..