在 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来访问成员变量xyz 你的情况。

该错误试图告诉您无法知道 'x' 是什么以及如何解决它。

您的方法需要在声明中具有 class 范围:

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

}

其中 Vector:: 声明范围。