3
这可能是一个非常基本的错误,但我对C++很陌生,所以请不要判断!修改类方法中的私有类变量?
基本上,我有两个类,如下所示:
class A{
private:
vector< vector<int> > images;
public:
int f1(int X, int Y);
}
class B{
private:
int x;
int y;
public:
int f2(A var);
}
我希望能够调用B.f2(A)与定义的变量A和B具有F2()调用A.f1 (X,Y)。到目前为止,所有这些工作。 但函数f1为f2()返回时不存在的向量'images'赋值。任何想法为什么? 下面的代码:
int A::f1(int X, int Y){
// Some stuff to resize images accordingly
images[X][Y] = 4;
return 0;
}
int B::f2(A var){
var.f1(x, y);
return 0;
}
int main(){
A var1;
B var2;
// Stuff to set var2.x, var2.y
var2.f2(var1);
// HERE: var1.images IS UNCHANGED?
}
也做了工作。谢谢! – eigensheep