동적으로 커질 2D 배열이 필요하기 때문에 2D 벡터를 사용하려고합니다. 클래스 선언에서 : 클래스의 동적 2D 벡터 선언
우리는이 시도vector<vector<double> > table;
그러나 테이블을 할당하지 않는 것 같습니다. 우리가 회원들에게 접근하려고 시도 할 때 우리는 세그 폴트를 얻습니다.
클래스 선언 :
vector<vector<double> >* table;
생성자 :
그래서 우리는이 시도
table = new vector<vector<double> >;
을하지만 지금 우리는 우리가 전에 액세스 방식 (와 [] []) 아무튼 일하지 마라.
우리는 이것에 더미 클래스 시도 :class myClass {
public:
myClass();
~myClass();
vector<vector<double> > t;
};
myClass::myClass()
{
t = vector<vector<double> > (10, vector<double>(10));
}
를하지만 제대로 무료 않을 것 우리는 코어 덤프를 얻었다. 또한 우리가 어레이를 성장 시키려고했을 때, 우리는 각 새로운 행을 expclitly 건설했을 것입니다.
예 :
t[50] = vector<double>(5);
t[50][10] = 10;
우리가 이런 식으로하지 않은 경우, 우리는 segfault의 당신은 당신이 액세스 요소 전에 테이블의 크기를 조정해야합니다