繁体   English   中英

cpp中的访问标头变量

[英]access header variable in cpp

嗨,我刚开始用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是头文件中的变量?

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

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

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

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

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

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

}

Vector::声明范围。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM