如下图,想在Model类中使用Detect类的方法,同时也想在Detect类中使用Model中的成员,有过在彼此的头文件中相互包含,编译的时候会报错,错误如图2。
图1 两个类的头文件想相互包含
图2 在detect.h中包含model.h并创建对象时报错
解决办法:
不要将model.h头文件包含到detect.h中,放在detect.cpp中,并且在CPP文件中detect的构造函数中创建对象,这样就不会报错了。

本文介绍了一种有效避免C++中头文件循环依赖的方法。通过调整包含位置及对象创建时机,确保编译顺利进行。

1万+

被折叠的 条评论
为什么被折叠?



