簡體   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