c++ - C4430 错误 - 缺少类型说明符 - 假定为 int

标签 c++

我正在制作一个数学库(实际上是复制一个并修改它。),但在所有错误之后,只有一个错误我似乎无法摆脱。找不到类型说明符。 它位于我的 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/

相关文章:

c++ - 是否可以实现 [] 运算符两次?

c++ - 在 C++ 中,在对象内分配多个数据时,堆栈分配是否更有效? A_Heap 类在下面的程序中效率会降低吗?

c++ - 链接 Howard Hinnant 的日期/时区库时出错

c++ - 多次使用 std::async 对小任务性能友好吗?

c++ - 如何遍历 C++ 中的 unicode 字符?

c++ - GUI 调试器和终端调试器之间的区别

c++ - 如何让 QObject::deleteLater() 将对象归零?

c++ - 传递显式空参数包

c++ - 反作弊客户端

c++ - 将多维数组的一部分归零