(转)头文件嵌套包含


嵌套包含:两个头文件相互包含,编译出错,如下例:

//文件A.h中的代码
#include "B.h"

class A
{
public:
    B* b;
};

//文件B.h中的代码
#include "A.h"

class B
{
public:
    A* a;
};

解决办法:在其中某一个里面用上Class,如在A.h中
1)不加#include “B.h”
2) 加入Class B, 再在A的类成员里定义B *b

-->//文件A.h中的代码
class B;
class A
{
public:
    B* b;
};

一个头文件包含的原则是:尽量在CPP文件中包含头文件,而非在头文件中


文章作者: 2356
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 2356 !