我正在制作一个数学库(实际上是复制一个并修改它。),但在所有错误之后,只有一个错误我似乎无法摆脱。找不到类型说明符。 它位于我的 Math.h 的第 201 行,即这一行:
int Classify(const Polygon &vcPoly);
我确实尝试过搜索谷歌,但我没有找到任何东西。对我来说,这不是很明显出了什么问题。 这是 Plane 类的源代码。在数学标题中还有 vector 、射线、矩阵和更多数学类。 Polygon 类位于 Plane 类之后,但我在标题顶部包含了定义。
class Plane {
public:
Vector m_vcN, // plane normal vector
m_vcPoint; // point on plane
float m_fD; // distance to origin
//---------------------------------------
Plane(void) { /* nothing to do */ ; }
inline void Set(const Vector &vcN, const Vector &vcP);
inline void Set(const Vector &vcN, const Vector &vcP, float fD);
inline void Set(const Vector &v0, const Vector &v1, const Vector &v2);
inline float Distance(const Vector &vcPoint);
int Classify(const Polygon &vcPoly);
inline int Classify(const Vector &vcPoint);
bool Clip(const Ray*, float, Ray*, Ray*);
bool Intersects(const Vector &vc0, const Vector &vc1,
const Vector &vc2);
bool Intersects(const Plane &plane, Ray *pIntersection);
bool Intersects(const Aabb &aabb);
bool Intersects(const Obb &obb);
}; // class
希望你能帮助我。
最佳答案
似乎在那行中不知道 Polygon
类型。您是否包含了正确的头文件?我的猜测是 Polygon.h
(或类似的东西)丢失了。
编辑:如果所有类都包含在同一个标头中,则可能您必须确保在将类作为类型需要之前定义了该类(带有原型(prototype))。这意味着您可以将类原型(prototype)放在头文件的开头:
// prototype for Polygon
class Polygon;
关于c++ - C4430 错误 - 缺少类型说明符 - 假定为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7173973/