嵌套包含:两个头文件相互包含,编译出错,如下例:
//文件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文件中包含头文件,而非在头文件中