您好我刚刚开始用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是头文件中的变量?
答案 0 :(得分:5)
您需要在类范围中声明您的函数
Vector Vector::cross(const Vector & v){
^
}
这意味着cross
是一个类方法,因此具有隐式this
来访问成员变量x
,y
和z
in你的情况。
答案 1 :(得分:1)
错误试图告诉您,不可能知道'x'是什么以及如何解决它。
您的方法需要在声明中包含类范围:
Vector Vector::cross(const Vector & v) {
}
其中Vector::
声明范围。