这可能是我正在犯的一个非常基本的错误,但我对 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);
}
我希望能够使用定义的变量 A 和 B 调用 B.f2(A),并让 f2() 调用 A.f1(x,y)。到目前为止,这一切都有效。但是函数 f1 将值分配给当 f2() 返回时不存在的向量“图像”。任何想法为什么?这是代码:
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?
}