안녕하세요? 늦은시간에 글을 올리게 됩니다.
일단 저는 고등학교 학생입니다.
저희학교가 특성화고라 매년 공모전에 작품을 하나씩 제출 해야합니다.
저는 팀을 꾸려 작은 게임을 제작중인데요.
제가 드릴 질문은 c++의 de1ete연산자와 list의 iterator관련 질문을 드릴려고 합니다.
몬스터가 일정 조건이 되면 상태가 Death(죽음)으로 바뀌면서 메모리상에서 지워져야 하는데요.
그과정에서 계속 오류가 뜹니다.
Monster* De1ete = (*itor);
MonsterList.erase(itor);
de1ete De1ete;</div>
MonsterCount--;
printf("주금\n");
break;
저기서 itor는 iterlator로 생성된 삭제해야할 내용입니다.
MonsterCount는 게임내부에서 몬스터의 마릿수를 세기위해 설정해놓은 것이니 pass해보고,
이를 실행시에 printf()의 내용인 "주금"은 콘솔창에 나오는데 그 뒤에 바로 꺼집니다.
그래서 F5로 디버깅해보며 체크하는데 못찾겠더라구요..
컴게능력자 분들 도와주세요..
(de1ete는 원형이 필터링에 걸려 저렇게 쓴겁니다)