背景

A模块和B模块需要交叉include, 如何避免编译错误?

常见出错情景

一通 include

问题:出现交叉应用

不include , 一通前置声明

报错:前置声明不支持调用其声明对象的成员方法

正确解法

如果只是引用、指针需要用到其他对象的类型,用前置声明;
如果需要使用其他文件中的类的方法,在当前模块的.cpp文件中include 其他模块的头文件

这样可以避免交叉应用