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