뜨핫~ 3중 포인터 ㅡㅡ;;
생성을 않하셨네요... ;ㅁ;
TTAG *bank = NULL;
struct 인스턴스를 만들어주셔야합니다.
생성자나. 암튼 적당한 위치에 만들어 주세요 ^^
bank = new TTAG()
newhuni 님이 쓰신 글 :
: 안녕하세요...
: 계속 질문만 드리네요.... (지송;;;)
:
: 오늘은 다차원 배열 동적생성에 대해 조언구합니다..
:
: 아래와 같이 구조체를 생성하였습니다.
: 구조체의 변수data를 3차원 배열로 동적할당하였습니다.
: //---------------------------------------------------------------------------
: typedef struct _tag_
: {
: int ***data;
: make(int cnt) {
: data = new int**[cnt]; // <---- 요 지점.(1)
: for(int i=0;i<cnt;i++){
: data[i] = new int*[max_page];
: for(int j=0;j<max_page;j++){
: data[i][j] = new int[max_addr];
: }
: }
: }
: }TTAG;
:
: TTAG *bank = NULL;
: //---------------------------------------------------------------------------
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
: bank->make(10);
: }
: //---------------------------------------------------------------------------
: bank를 위와같이 포인터로 선언하고 컴파일하면 에러는 발생하지 않으나 실행시키면
: (1)번지점에서 메모리참조에러가 발생합니다.
: 포인터로 선언하지 않으면 정상적으로 동작하구요...
:
: 포인터가 약해서 잘 모르겠습니다. 여기 저기 책을 뒤져봐도 원하는 답을 구하지 못했습니다.
: 고수님의 조언부탁드립니다....
|