cpp中的访问标头变量

Tho*_*asS 0 c++ header-files

嗨,我刚开始用C ++编程,从我的cpp文件的头文件访问变量时遇到问题。

在我的标头(Vector.h)中,

class Vector {

public:

    double x, y, z;
Vector cross(const Vector & v);
}
Run Code Online (Sandbox Code Playgroud)

我的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);
}
Run Code Online (Sandbox Code Playgroud)

这给出了一个Symbol 'x' could not be resolved错误(与y和z相同)。我如何分辨x,y,z是头文件中的变量?

Cor*_*mer 5

您需要在类范围内声明函数

Vector Vector::cross(const Vector & v){
       ^
}
Run Code Online (Sandbox Code Playgroud)

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