//this returns a boost::ptr_vector<Ordre>
auto& vec = ptf.listeOrdre().liste();
auto it = std::find_if( vec.begin(), vec.end(),
[message](Ordre& ordre){return ordre.id() == message->id();}
);
if( it == vec.end())
{
return;
}
Ordre& ordre = *it;
我对“&amp;”有疑问或“*”我应该使用lambda参数和最后一行代码。
有人看错了吗?
我在制作中崩溃,我怀疑这段代码
由于
答案 0 :(得分:1)
最后一行看起来是正确的。
ptf.listeOrdre()
可能出现一个错误。如果它返回一个值,它将被复制。然后vec
将引用一个临时对象。
lambda的参数应为const&
,但我怀疑这是问题。
除此之外,这段代码没有任何问题。