c – 在lambda表达式内调用方法

c – 在lambda表达式内调用方法,第1张

概述我想在lambda表达式调用我的类的方法: void my_class::my_method(my_obj& obj){}void my_class::test_lambda(){ std::list<my_obj> my_list; std::for_each(my_list.begin(), my_list.end(), [](my_obj& obj) { 我想在lambda表达式中调用我的类的方法:
voID my_class::my_method(my_obj& obj){}voID my_class::test_lambda(){    std::List<my_obj> my_List;   std::for_each(my_List.begin(),my_List.end(),[](my_obj& obj)   {      // Here I want to call my_method:      // my_method(obj);   });}

我能怎么做?

解决方法 您需要明确或隐含地捕获这些:
std::for_each(l.begin(),l.end(),[this](my_obj& o){ // or [=] or [&]      my_method(o); // can be called as if the lambda was a member    });
总结

以上是内存溢出为你收集整理的c – 在lambda表达式内调用方法全部内容,希望文章能够帮你解决c – 在lambda表达式内调用方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1249997.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存