我有一个文件“mtm_ex4.h
”这是我想要的(真正需要)宣布几个数据类型为“fan.h
”文件来使用。在循环依赖包括文件
的问题是,我使用一些其他的数据类型,其中以“fan.h”
我怎样才能解决这个循环依赖宣布“mtm_ex4.h
”?
我有一个文件“mtm_ex4.h
”这是我想要的(真正需要)宣布几个数据类型为“fan.h
”文件来使用。在循环依赖包括文件
的问题是,我使用一些其他的数据类型,其中以“fan.h”
我怎样才能解决这个循环依赖宣布“mtm_ex4.h
”?
也许您是“允许”创建正向声明标题为吗?这样的头部(例如<iosfwd>
)声明类型,所使用的是允许一些/全部的完整报头的(例如<iostream>
)功能常数等等,虽然一些类型可以是不完整的,只通过指针或参考使用。从现有的头文件中包含这样的头文件以确保它们保持同步,并且至少那些不会引入不需要的相关性的东西(即,需要支持#includes
,耦合客户端对私有成员/函数体的内联实现) ),以确保一个权威的定义。如果您在一个团队或公司工作,维护主标题的团队也应该维护前向声明标题。
不过,你显然有限制的工作,所以可能要挑害相权取其较小....
你可以像COMMON.H文件,这将宣布由mtm_ex4.h和fan.h使用这两种类型,使这两个文件的依赖从COMMON.H。
还有一个问题,我不允许修改“mtm_ex4.h” ...... –
@Doppelganger那么你为什么不把这些关键的细节放在你的问题中? – juanchopanza
原因,否则这个问题是微不足道的...... –