C++ 在 find_if 中使用 lambda 查找变量对

C++ Using a lambda in find_if to find pair variables

所以我无法理解 lambda 及其工作原理,特别是如果我有

std::vector<std::pair<std::string, int>> storage;

并想编写一个看起来像

的函数
bool VNS::remove(const std::string& host) {
   auto end = storage.end();
   auto found = find_if (storage.begin(), end, [host](pair<string,int> curr)     {return curr.first == host; });

即我想在成对的向量中找到主机,其中主机名存储在成对的第一部分。如何正确指定 lambda 函数中的内容才能执行此操作?

此致。

显然这个方法有效,就是这样。我设法将我的编译器的输出误解为认为 lambda 函数有问题,但这似乎是使其工作的一种方式。