-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