如何包含头文件

时间:2011-07-02 07:40:33

标签: c++

我有一个数据包类和一个数据包类。

在数据包工厂类中,它包含packet.h文件,在数据包类中包含packetfacotry.h文件。

然后我在packetfactory.h文件中收到错误“数据包没有命名类型”。

我该如何解决这个问题?

提前致谢。

3 个答案:

答案 0 :(得分:2)

2种方式:

首先,您可以在packetfacotry中#include "packet.h"#include "packetfacotry.h"。不要忘记保护标题。

其次,如果你有一个循环包含juste在你的“packetfacotry.h。文件中添加class packet;,反之亦然。 它声明了预处理器的符号。

那么?

答案 1 :(得分:0)

看起来非常常见的循环依赖问题,你可以搜索循环依赖和pImpl,有很好的答案。

答案 2 :(得分:0)

如果packetfactory.h引用了packet.h中描述的数据包类,那么你需要让packetfactory.h本身包含packet.h。标题可以并且经常包含其他标题。

不幸的是,这只是猜测发生了什么,因为您没有提供任何源代码或确切的错误。我假设这是问题,但是因为提到错误行在标题中,而不是实现文件。