cpp中的访问头变量

时间:2015-08-05 13:01:57

标签: c++ header-files

您好我刚刚开始用C ++编程,并且在我的cpp文件中从头文件访问变量时遇到问题。

在我的标题(Vector.h)中我有

class Vector {

public:

    double x, y, z;
Vector cross(const Vector & v);
}

我的cpp文件(Vector.cpp)

#include "Vector.h"

Vector cross(const Vector & v){
    double x2 = y*v.z-z*v.y;
    double y2 = -x*v.z+z*v.x;
    double z2 = x*v.y-y*v.x;

    return Vector(x2, y2, z2);
}

这会产生Symbol 'x' could not be resolved错误(y和z相同)。 如何告诉x,y,z是头文件中的变量?

2 个答案:

答案 0 :(得分:5)

您需要在类范围中声明您的函数

Vector Vector::cross(const Vector & v){
       ^
}

这意味着cross是一个类方法,因此具有隐式this来访问成员变量xyz in你的情况。

答案 1 :(得分:1)

错误试图告诉您,不可能知道'x'是什么以及如何解决它。

您的方法需要在声明中包含类范围:

Vector Vector::cross(const Vector & v) {

}

其中Vector::声明范围。