I am trying to follow this example to use a lambda with remove_if. Here is my attempt:
int flagId = _ChildToRemove->getId();
auto new_end = std::remove_if(m_FinalFlagsVec.begin(), m_FinalFlagsVec.end(),
[](Flag& device) {
return device.getId() == flagId;
});
m_FinalFlagsVec.erase(new_end, m_FinalFlagsVec.end());
but this fails to compile:
error C3493: 'flagId' cannot be implicitly captured because no default capture mode has been specified
How can I include the outside parameter, flagId, in the lambda expression?
Aucun commentaire:
Enregistrer un commentaire