错误:"变量Vector3""不是类型名称

时间:2014-05-02 20:07:36

标签: c++ winapi include

我在名为Vector3的头文件中有一个名为Vector.h的类。一切都很好,直到我将此文件包含在另一个头文件中。然后,IntelliSense会将使用Vector3(作为参数或返回值)的每个函数标记为错误:Error: "Variable Vector3"" is not a type name。我无法解释为什么会发生这种情况。我创建了一个新的测试项目并再次包含Vector.h,但在这个新项目中,一切都编译得很好。这是文件的代码:

#ifndef VECTOR_H_
#define VECTOR_H_

#include <math.h>

class Vector3
{
public:
    double x, y, z;

    Vector3();
    Vector3(double x, double y, double z);

    void normalize();
};

Vector3 normalize(Vector3 v);
Vector3 cross(Vector3 a, Vector3 b);
Vector3 min(Vector3 a, Vector3 b);
Vector3 max(Vector3 a, Vector3 b);

#endif

更新

我意识到如果我在Vector.h之前包含windows.h,那么只有一个错误。如果我不包含windows.h或者如果我在vector.h之后包含它,我就不会收到任何错误。

0 个答案:

没有答案