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

박창현님의 프로필 이미지

작성한 질문수

[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버

인벤토리

인벤토리 강의 예제 코드가 작동되지 않습니다.

해결된 질문

23.09.14 16:00 작성

·

217

0

이 상황과 관련해서 몇 가지 같이 질문드려봅니다...

  1. 두 번째 for문(-> 주석 '//PK당해서 랜덤으로 일부 아이템 드랍' 부분)에서 스코프 내 지역변수가 최적화되어 사용할 수 없다는 메시지와 함께 내용을 알 수 없다고 나옵니다. 비슷한 경우를 포폴 작업하면서 몇 번 마주한 적이 있었는데요, 혹시 왜 이런 걸까요?_?

(참고 사진)

  1. 이 질문이 본론이기는 한데, if문으로 RemoveItem 호출 후 반환되는 bool값에서 계속 false가 반환되는 듯 합니다. 1번 질문에 남긴 이유 때문에 디버깅으로 정확한 원인을 파악하지 못했습니다(ㅠㅠ)
    그리고 같은 부분을 강의에서 코드가 정상 작동 되는지 확인해주셨었는데요(50:33), 이 때 if문 끝에 세미콜론이 붙어 조건문의 내용으로 적었던 출력 부분이 반드시 작동되도록 처리 되었더라구요.

    강의를 여러 번 반복해서 보며 제가 잘못 작성한 부분이 있는지 확인해보았으나 발견하지는 못했습니다.. 혹시 정상 작동 시키려면 어떻게 수정해야 하는 걸까요?

답변 1

1

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

2023. 09. 14. 19:36

Debug 모드로 한 것이 맞을까요?
RemoveItem false는 흥미롭지만, 직접 들어가서 원인을 파악해보시기 바랍니다.
늘 강조하지만 디버깅이야 말로 가장 중요한 연습입니다.
그래도 정 원인이 파악이 안 되시면 다시 댓글 달아주세요

박창현님의 프로필 이미지
박창현
질문자

2023. 09. 14. 22:06

제 실수가 있었네요ㅎㅎ

FindItemSlot()함수를 작성하면서 FindEmptySlot()함수 본문을 복사한 후, empty여부를 걸러내기 위해 nullptr인지 체크해주는 곳을 수정하지 않고 그대로 사용했더라구요.

그리고 Release모드일 때 최적화되었다는 것도 알게 되었습니다. 이 부분이 다른 작업할 때도 애먹었던 부분인데, Debug로 실행해보니 잘 확인됩니다! 감사합니다!!