Frame_Object[i] = new TFrame_Object(NULL); // 이게 생성
이건 프레임 생성 시에 하는거구요.
제 말은...
TFrame_Object *Frame_Object; // 이게 선언
요놈 했을 때를 말씀드리는 겁니다.
아마도 프레임 오브젝트 내에 프레임 텍스트, 프레임 이미지 등을 만드신 듯 한데,
프레임 텍스트를 생성할 때,
Frame_Text[i] = new TFrame_Text(NULL); // 이렇게 되어 있을거라 생각되서 씁니다.
요 놈은 들어가겠지만, 생성을 안 하는 경우라면
TFrame_Text *Frame_Text[i]; // 선언만 했으므로 어떤 값이 들어있을 지 모름. 쓰레기....
요렇게만 되어 있을 텐데, 선언만 해 놓고 생성을 하지 않은 상태에서,
if(Frame_Text[i])
이걸 하게 되면 아무래도 문제가 생기지 않을까요?
추측성 답변이라 확답을 드리기 어렵네요 ㅠㅠ
축구 님이 쓰신 글 :
: Frame_Object[i] = new TFrame_Object(NULL);
: 선언은 이런식으로 하고
: 따로 Frame_Object[i] = NULL; 이건 안해줬어요.
:
:
: 빛의암살자 님이 쓰신 글 :
: : 혹시 프레임변수 선언 시에 NULL 할당은 해주셨는지...
: : 외부 변수가 아니라면 쓰레기값이 들어가 있을지도 모르겠네요.
: :
: :
: : 축구 님이 쓰신 글 :
: : :
: : : for(int i = 0;i < m_nFrame_Object_Count; i++)
: : : {
: : : if(Frame_Text[i]) //여기서 에러
: : : {
: : : delete Frame_Text[i];
: : : Frame_Text[i] = NULL;
: : : }else if(Frame_Image[i])
: : : {
: : : delete Frame_Image[i];
: : : Frame_Image[i] = NULL;
: : : }
: : :
: : : if(Frame_Object[i])
: : : {
: : : delete Frame_Object[i];
: : : Frame_Object[i] = NULL;
: : : }
: : : }
: : :
: : :
: : : 삭제할때 read address 00000000에러가나는데요 Frame Image를 만들고 다음 누르면 삭제를 하는데
: : : Frame Text는 안만들어서 Null이라 if문에서 그냥 넘어가야 정상인데 왜저기서 에러를 띄울까요 아무리 생각해도
: : : 답이 안나오네요.
: : :
: : : Frame Text를 먼저 만들어도 else if 문 Frame Image에서 에러가 나네요 흠..
: : :
: : : 어딜 확인해 봐야할까요?