C ++标头包含冲突

时间:2011-07-08 17:44:37

标签: c++ header include

我正在为学校制定交通模拟计划。我的Simulation课程从XML文件中读取了一系列工具,因此我在Vehicle.h课程中添加了Simulation。我希望我的车辆能够保持指向模拟对象的指针,以便它可以使用模拟的searchRoads功能。所以我在Simulation.h课程中加入了Vehicle

当我这样做时,我尝试编译时遇到了100多个错误。我对我的C ++非常不满意,所以如果我犯了某种罪名,请告诉我如何纠正这一点。

3 个答案:

答案 0 :(得分:3)

要么,你缺少包含保护,导致多个包含头文件

或者

您正在创建标题的 Circular Dependency 。您应该使用 Forward Declaration

发布您的代码详细信息以获取更详细的答案。

答案 1 :(得分:0)

您了解了包含警卫的内容:http://en.wikipedia.org/wiki/Include_guard 希望这会有所帮助。

答案 2 :(得分:0)

由于操作系统具有处理长文件名的能力,因此我开始命名我的包含文件,以便它们反映代码在命名空间中的位置:

namespace network {
 class connection { bool send( char* stuff ); }
}

最终会出现在“network.connection.h”文件中。

它有助于保持组织有序并减少文件名称冲突的可能性。