我想在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);
});
}
Run Code Online (Sandbox Code Playgroud)
我能怎么做?
Xeo*_*Xeo 34
您需要this显式或隐式捕获:
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
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14171 次 |
| 最近记录: |