我尝试了以下代码:
auto it = find(v.begin(),v.end(), name, [](const pair<string, string> &a,const string b)
{
return a.first == b;
}); // name contains the string to find.
但这给了我编译错误。帮我找出我的错误。
答案 0 :(得分:2)
您尝试调用的重载不存在。您要使用find_if:
auto it = std::find_if(v.begin(),v.end(), [&](const pair<string, string> &a)
{
return a.first == name;
}); // name contains the string to find.