-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
마지막 문제 질문
22.01.24 15:45 작성 조회수 103
0
for (int i = 0; i < 10; i++)
{
arrows[i]->AttackTarget();
// 기사가 죽었으면 소멸시켜준다
if (knight != nullptr)
{
if (knight->IsDead())
{
delete knight;
knight = nullptr;
break;
}
}
기사가 죽은 뒤에 화살이 죽은 기사를 공격하는게 문제라면
기사가 죽었을 때 화살을 더이상 쏘지 않게 break로 빠져나가면 된다고 생각했었는데
이럴 경우 크래시는 나지 않는데 문제가 있을까요?
답변을 작성해보세요.
1
Rookiss
지식공유자2022.01.25
네 그래도 문제입니다.
나중에 가면 화살이 knight를 들고 있을 때
if (knight->IsDead())
같은 것을 체크하고 싶어도
애당초 knight가 메모리에서 날라갔으면 이렇게 체크하는 것조차 크래시를 유발할 수 있습니다.
답변 1