0
가정한다 우리는 10 × 10의 2 차원 배열을 만들고 (100)의 첫 번째 셀 설정 다음 가지고포인터 클래스의 클래스/동적 메모리 멤버 변수로서
class twoD{
int **p = new int*[10];
public:
twoD(){
*p = new int[10];
p[0][0] = 100;
}
};
왜이 확인 될 때이다 다음은 그렇지 않습니다.
class twoD{
int **p = new int*[10];
*p = new int[10];
public:
twoD(){
p[0][0] = 100;
}
};
확실히 "2 차원 어레이"와는 아무런 관련이 없습니다. 또는 포인터. – juanchopanza
이들 중 어느 것도 실제로 제대로 초기화 된 2D 배열로 끝나지 않습니다. 당신은 정말로 당신의 생성자가 다음과 같은 것을하기를 원한다 : for (int i = 0; i <10; ++ i) {p [i] = new int [10]; }'그리고 일치시킬 소멸자가 있으면 더 좋을 것이다. – Charlie