Я пытаюсь использовать функцию remove_if
STL и передаю либо карту, unordered_map, либо вектор.Все из которых содержат функции .begin()
и .end()
, которые возвращают итераторы.Компилятор не позволяет мне вызывать функции из шаблонной переменной
Я пытался использовать .begin()
и .end()
, а также begin()
и end()
template<typename FUNCTOR, typename datastructure>
void deleteFromHelper(FUNCTOR func, datastructure table)
{
std::remove_if(table.begin(), table.end(), func);
}
где таблица является либо unorded_map, картой, либо вектором.и func - это пользовательский функтор
Компилятор говорит: Error C2228 left of '.begin' must have class/struct/union