저는 Node * (openList)의 벡터를 가지고 있으며 targetNode가 주어지면 노드 *에 반복자를 가져 오려고합니다. 그것은 x & z 위치를 확인해야합니다. 일치하는 것이 발견되면이 노드 *가 이미 있음을 알 수 있습니다. 이것은 내가 비주얼 스튜디오를 통해, 나는 람다 식에 의해 체포되지 않는 openList에 여러 개의 동일한 항목이있는 것으로 나타났습니다 단계 때 나는오브젝트 포인터의 벡터에서 오브젝트를 찾을 수 없습니다.
auto iter = std::find_if(openList.begin(), openList.end(), [&targetNode](const Node* p)
{
return (targetNode->GetXPos() == p->GetXPos() && targetNode->GetZPos() == p->GetZPos());
});
if (iter != openList.end())
{
....do something
}
을 것입니다. 아무도 do not-something 루프에 들어간 적이 없기 때문에 내가 잘못한 것을 나에게 알려줄 수 있었습니까? 고마워.
정수 또는 부동 소수점을 비교하고 있습니까? – Galik
'GetXPos() 및 GetZPos()'의 반환 유형은 무엇입니까? – sameerkn