c++ ‘this‘ cannot be implicitly captured in this context

阅读: 评论:0

c++ ‘this‘ cannot be implicitly captured in this context

c++ ‘this‘ cannot be implicitly captured in this context

问题

使用lambda表达式的时候,发现报了个编译错误

'this' cannot be implicitly captured in this context

完整示例

void demo::init(){Hanlder([](const std::string &event, const std::string &content){//调用所在类的成员函数,报错test();});
}void demo::test()
{}

原因

在lambda表达式中使用了某个成员变量,但是没有捕获this

解决方法

捕获this

void demo::init(){//加入this捕获Hanlder([this](const std::string &event, const std::string &content){test();});
}void demo::test()
{}

 

本文发布于:2024-01-29 07:15:38,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170648374313610.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:implicitly   captured   context
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23