std :: pair在lambda表达式中

酰胺酶

我只想知道如何在lambda表达式捕获括号内编写对。由于以下代码无法编译,因此我缺少了一些东西...

std::vector<std::pair<std::string, std::string>> container1_;

for( auto iter : container1_ )
{
    auto result = std::find_if( container2_.cbegin(), container2_.cend(),
        [iter.first]( const std::string& str )->bool { return str == iter.first; } );
}

In member function ‘bool MsgChecker::CheckKeys()’:
error: expected ‘,’ before ‘.’ token
error: expected identifier before ‘.’ token
轨道轻赛
  [iter.first]( const std::string& str )->bool { return str == iter.first; }
// ^^^^^^^^^^

Lambda捕获用于标识符,而不用于任意表达式或其他任何内容。

只需传递iter

  [iter]( const std::string& str )->bool { return str == iter.first; }

[C++11: 5.1.2/1]:

[..]

 捕获
   标识符
   & 标识符
   this

[C++11: 2.11/1]:标识符是字母和数字的任意长序列。[..]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

std :: pair在lambda表达式中

来自分类Dev

C ++ std :: copy_if中的Lambda表达式

来自分类Dev

如何从捕获移动的lambda表达式中创建std :: function?

来自分类Dev

警告:支持对象的指针将在std :: pair的全表达式结束时被破坏

来自分类Dev

C ++中的STD正则表达式

来自分类Dev

用于std :: tuple访问的算法中的折叠表达式

来自分类Dev

表达式 std::enable_if 中的 type* 是什么

来自分类Dev

使用std :: accumulate算法和lambda表达式对元素进行计数

来自分类Dev

std :: addressof作为C ++ 17中的常量表达式

来自分类Dev

我可以std :: forward折叠表达式中的参数吗?

来自分类Dev

C ++ std :: string.find在布尔表达式中返回意外结果

来自分类Dev

可以将C ++ std :: regex表达式转换为C#表达式吗?

来自分类Dev

std :: pair的通用Lambda参数

来自分类Dev

std :: string:非法使用此类型作为表达式

来自分类Dev

std :: apply的enable_if-like SFINAE表达式

来自分类Dev

std :: string:非法使用此类型作为表达式

来自分类Dev

在表达式树中调用lambda表达式

来自分类Dev

在表达式树中调用lambda表达式

来自分类Dev

std = c ++ 11和std = gnu ++ 11之间的C ++标准正则表达式差异

来自分类Dev

C ++ IDE将无法推断/自动完成模板类中std :: array下标表达式的成员访问

来自分类Dev

如何使用|| 在lambda表达式中

来自分类Dev

'if'语句条件中的Lambda表达式

来自分类Dev

方案中的Map + Lambda表达式

来自分类Dev

捕获lambda表达式中的指针?

来自分类Dev

Lambda表达式在Struts 2中

来自分类Dev

修改Lambda表达式中的变量

来自分类Dev

Kotlin中的Lambda表达式

来自分类Dev

Android中的Lambda表达式

来自分类Dev

lambda表达式中的异常处理

Related 相关文章

热门标签

归档