循环包含头文件导致编译报错:missing type specifier - int assumed. Note: C++ does not support default-int
比如
A.h
#include "B.h"
class A{
B b;
}
-----------------------
B.h
#include "A.h"
class B{
A a;
}
这样就会出现头文件循环包含的问题
可以利用前置声明的方式实现,但是变量要用指针的形式,因为前置声明只是一个类型的声明,系统无法知道它的大小无法分配内容
A.h
class B;
class A{
B *b;
}
------------------
B.h
class A;
class B{
A *a;
}