-3
我有一個Node *(openList)的向量,我希望在給定targetNode時獲取Node *的迭代器。它應該檢查x位置,如果找到匹配,我會知道這個Node *已經存在。這是我無法在對象指針的矢量中找到對象
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
}
當我一步通過Visual Studio中,我注意到,有在openList多個相同的條目沒有被lambda表達式捕獲。任何人都可以讓我知道我做錯了什麼,因爲我從來沒有進入任何東西循環?非常感謝。
你在比較整數還是浮點數? – Galik
GetXPos()和GetZPos()是什麼類型的返回類型? – sameerkn