如何使用std :: find从vector <对<字符串,字符串>>类型的前几个元素中查找字符串?

时间:2019-05-30 17:31:54

标签: c++ lambda

我尝试了以下代码:

    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.

但这给了我编译错误。帮我找出我的错误。

1 个答案:

答案 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.