나는 비교적 새로운했습니다 맵을 사용하여 .find 사용 dereferencable, 나는이 코드 섹션에 저를 가져다 다시 시도 칠 때 나는 현재 Debug Assertion Failed Expression: map/set iterator not dereferencable
C++지도/설정 반복자
납니다하지 :
auto temp = mOpenMap.find(currentNode); temp->second = false;
나는 그것을 찾을 수 없습니다,이지도의 끝을 반환하는 .find(currentNode)
과 관련이있다 생각하지만, 여기에 관련된 부분은 내 수동 디버깅을하는 것은 내가 발견입니다지도에서 유일하게 Node
실제로 정확한 부분이 포함되어 있습니다. currentNode
또는.
내지도는 이것이다 :
std::map<PathNode*, bool> mOpenMap
낙관적 내가 그것을 원하는 무엇 row
및 column
검색 이미 있도록 검색 된 노드에서 찾고 있음을 확인하기가 I 함께 boolean
을 false로 설정할 수 있습니다.
내가 궁금해하는 점은지도가 일반적으로 개체를 검색하는 방법일까요? 또는 더 나은 방법은, 사용자 정의 검색으로지도 검색을 수행하려면 어떻게해야합니까? 당신은 std::map::find
를 확인해야합니다
때로는 참조 대신 값으로 함수에 맵을 전달했음을 나타내는 경우가 있지만,이 경우에는 가능성이 낮습니다. –