sunjin602   5년 전

저 코드를 실행해보시면
exit status -1로 끝나버립니다.
아무래도 새로운 좌표를 적용한
map[newCur.z][newCur.x][newCur.y]의 범위가 map 배열 범위를 넘어간 것 같아
newCur를 cout으로 찍어봤습니다.
newCur.z가 -1로 나오는 순간 프로그램이 종료가 되더라구요.
그래서
if((0 <= newCur.x < M) && (0 <= newCur.y < N) && (0 <= newCur.z < H))
이렇게 조건을 걸어줬는데도
newCur.z가 -1이 나오는거는 왜일까요..?
라인 바이 라인으로 계속 봤는데도 도무지 모르겠습니다..
혹시 제가 못 본 포인트가 있는지 찾아주시면 감사하겠습니다 (꾸벅)

djm03178   5년 전

C++에서는 a <= b < c라는 조건을 a <= b < c라고 쓰면 안 됩니다. 이는 a <= b의 결과가 0 (거짓) 또는 1 (참)으로 나오고, 그 값과 c를 비교하는 연산입니다.

둘을 동시에 만족시키는지를 확인하는 식은 a <= b && b < c입니다.

sunjin602   5년 전

해결됬습니다 감사합니다 ^^

댓글을 작성하려면 로그인해야 합니다.