인프런 커뮤니티 질문&답변

Hyunjong Jang님의 프로필 이미지
Hyunjong Jang

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

디버깅 문제 풀이 #3

혹시 마지막 문제 이렇게 하면 틀린 건가요?

작성

·

158

0

for (int i = 0; i < 10; i++)

{

// 기사가 죽었으면 소멸시켜준다

if (knight != nullptr)

{

arrows[i]->AttackTarget();

if (knight->IsDead())

{

delete knight;

knight = nullptr;

}

}

delete arrows[i];

arrows[i] = nullptr;

}

arrows[i]->AttackTarget(); 이거를 if문 안에 

넣으면 크래시가 나지 않던데 이런 방법은 틀린 걸까요?

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

음 딱히 틀린 것은 아니지만 정확히 이 문제의 케이스에
운이 좋게 맞아 떨어진 것이라 볼 수 있겠네요.
즉 일반적으로 화살도 기사도 많아진다고 가정하면,
arrow도 knight도 별도의 코드로 알아서 돌아갈 것이고
그런 상황이라면 화살 코드를 특정 knight의 코드에 낑겨 넣을 수는 없겠죠.


Hyunjong Jang님의 프로필 이미지
Hyunjong Jang

작성한 질문수

질문하기