Я пытаюсь удалить векторные элементы using remove_if
. Но безуспешно. Что я делаю неправильно?
Вот мой код:
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
void printme(std::vector<int>& a){
for(const auto& item: a)
std::cout << item << std::endl;
}
int main()
{
std::vector<int> a {1, 2, 3, 4, 5, 6};
printme(a);
a.erase( (std::remove_if(a.begin(), a.end(), [](const int& x){
return x == 2;
}), a.end()));
printme(a);
}
Мой результат:
1 2 3 4 5 6
Ожидаемый результат:
1 2 3 4 5 6 1 3 4 5 6