在 cpp 中访问 header 变量
access header variable in cpp
您好,我刚开始用 C++ 编程,在访问我的 cpp 文件中 header 文件中的变量时遇到问题。
在我的 header (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 是 header 文件中的变量?
您需要在 class 范围内声明您的函数
Vector Vector::cross(const Vector & v){
^
}
这意味着cross
是一个class方法,因此有一个隐含的this
来访问成员变量x
、y
和z
你的情况。
该错误试图告诉您无法知道 'x' 是什么以及如何解决它。
您的方法需要在声明中具有 class 范围:
Vector Vector::cross(const Vector & v) {
}
其中 Vector::
声明范围。
您好,我刚开始用 C++ 编程,在访问我的 cpp 文件中 header 文件中的变量时遇到问题。
在我的 header (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 是 header 文件中的变量?
您需要在 class 范围内声明您的函数
Vector Vector::cross(const Vector & v){
^
}
这意味着cross
是一个class方法,因此有一个隐含的this
来访问成员变量x
、y
和z
你的情况。
该错误试图告诉您无法知道 'x' 是什么以及如何解决它。
您的方法需要在声明中具有 class 范围:
Vector Vector::cross(const Vector & v) {
}
其中 Vector::
声明范围。