아마 abc 가 메모리가 할당 되지 않은 상태에서 사용해서가 아닐까요?
OFFICE_DATA *abc = new OFFICE_DATA;
처럼 할당하고 사용하면 될것 같은데요,
강우정 님이 쓰신 글 :
: 안녕하세요.
: 빌더 초보자 입니다.
: 아래 내용은 구조체로 선언한 값을 다른 부분으로 복사하는 부분입니다.
: 빌더는 6.0 버전을 사용하고 있구요.
:
: 아래 소스는 윈도우 7 (32bit, 64bit) 에서는 모두 잘 작동하구요.
: 윈도우 10에서는 32bit에서는 잘 작동하는데 64bit 에서는 안되는 것 같습니다.
: 특별한 오류 메세지는 없지만 복사가 되지 않습니다.
:
: 여기서 질문이 있는데요.
:
: 1. 어떤 부분이 윈도우 10 64bit 에서만 문제가 되는지요?
:
: 2. 소스를 수정해서 이 문제를 해결할 수 있는지요?
:
: 3. 아니면 컴파일러 ( 빌더 6.0 )의 한계이므로 신규 버전으로 컨버전 해야하는지요?
:
: 조언 부탁드립니다.
:
:
: // .h 구조체 선언부분입니다.
:
: typedef struct _man_data_
: {
: char name[MAX_SIZE1];
: int value[MAX_SIZE2];
:
: struct _man_data_ *ps[MAX_SIZE3];
:
: } MAN_DATA;
:
: typedef struct
: {
: int a;
: int b;
:
: MAN_DATA data[MAX_A][MAX_B][MAX_C];
: } OFFICE_DATA;
:
:
: // .cpp 소스 부분입니다.
:
: OFFICE_DATA *abc;
:
: abc->data[x][y][z].ps[i] = &(abc->data[a][b][c]);
:
|