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);
}
내가() 호출 A.f1 정의 된 변수 A와 B로 B.f2 (A)를 호출하고 F2를 가질 수 있도록하려면 다음과 같이
기본적으로, 두 개의 클래스를 가지고 (x, y)이다. 지금까지이 모든 것이 가능합니다. 그러나 함수 f1은 f2()가 반환 할 때 거기에없는 벡터 '이미지'에 값을 할당합니다. 어떤 아이디어? 당신이 값에 의해 A
을 통과하기 때문입니다
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