これはおそらく私が犯している本当に基本的なエラーですが、私はc ++にまったく慣れていないので、判断しないでください!
基本的に、次の2つのクラスがあります。
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()が戻ったときに存在しないベクトル'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?
}