• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

14분 30초 부근 질문 있습니다

21.08.27 10:12 작성 조회수 185

0

14:30 부근 부모의 좌표를 역추적하는 과정에서

// #1

while (true)

{

if (parent[y,x] == new Pos(y,x))

break;

}

// #2

while (true)

{

if (parent[y,x] .Y == y && parent[y,x].X == x)

break;

}
첫번째 케이스의 경우 작동하지 않았고

두번째 케이스의 경우 코드가 정상적으로 작동했습니다


첫번째 케이스의 경우 "(y,x)의 부모가 (y,x) 자기 자신이냐"고 묻는 의도로 코드를 작성했지만 의도대로 작동하지 않았나 봅니다


어떤 문제가 있는 건지 궁금합니다

답변 1

답변을 작성해보세요.

1

class Pos에 대해 != 라는 비교를 정의해주지 않아서
그냥 객체의 주소로 비교해서 일어나는 문제입니다.

이런 식으로 != 와 == operator를 정의해주시며 ㄴ됩니다.

ZIOMIN님의 프로필

ZIOMIN

질문자

2021.08.27

감사합니다! 주소로 비교해서 그런거군요