在两个不同的类中包含相同的头文件

时间:2014-04-17 03:01:51

标签: c++ directx

所以我有A,B和C类.A类是父类或基类,B和C继承它。我得到的错误是“基类未定义”我认为这是因为A类包含在B和C的两个头文件中?这是我的主要代码。

#include "BoundingSphere.h"
#include "OrientedBoundingBox.h"

这是BoundingSphere.h的缩短版本

#include "Model.h"
#include "Common\xnacollision.h"

class BSModel : public Model
{
};

OrientedBoundingBox.h与OBBModel类相同。那么为什么我会收到错误  Error 2 error C2504: 'Model' : base class undefined c:\users\X\desktop\project\boundingsphere.h 9 1 PhysicsDemo

我也得到'模型'重新定义错误。

1 个答案:

答案 0 :(得分:3)

尝试将#pragma once放在项目中所有头文件的顶部,以防止在包含它们后重新包含它们。

所有现代编译器都支持

#pragma once,但不是标准编译器。您也可以使用标准的include guards