Я пытаюсь выполнить этот пример, чтобы использовать лямбда с remove_if
. Вот моя попытка:
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());
но это не скомпилируется:
error C3493: 'flagId' cannot be implicitly captured because no default capture mode has been specified
Как включить внешний параметр flagId
в выражение лямбда?