编译错误:包含了头文件,但提示类未声明(头文件相互包含引起)

使用环境:

Ubuntu 11.10 G++

错误出现:

在编译一个相互包含头文件的代码(A.h中包含B.h,B.h中包含A.h)

但是编译出现错误,提示:A.h文件中,B类未声明;B.h文件中,A类未声明

错误分析:

在头文件中已经用#include <>引入了对方的头文件

刚开始还以为是名字有错误,一直在检查

后来确定没有输入错误时,确定应该是编码的问题

之前在头文件相互包含的时候好像也碰到过类似的问题,但是时间太长,忘记了...

错误解决:

在A.h文件中,声明B类

即在定义A类之前加入如下语句:

class B;

同样,在B.h中也同样的操作


你可能感兴趣的:(linux,调试,C++)