Я искал решение моей проблемы, но не нашел ответа. Следующий код предназначен только для обучения. Я хочу, чтобы удалить все элементы со значением 3 в этом векторе:Как найти значение в отсортированном векторе (C++)
std::vector<int> v{1,1,2,2,2,3,3,4,4};
Я пытался решить, как это:
// только отрывок из кода
iterator erase(T const& elem) {
return v.erase(std::remove(v.begin(), v.end(), elem), v.end());
}
Но в моей тестовый случай, я ожидаю, что итератор будет указывать на значение 4, но в моем коде он указывает на значение 3. Он удаляет только первые 3 из моего вектора.
Как удалить оба значения «3», чтобы итератор возвращал точки на 4?
Благодарим за помощь!
Это верная версия – fjardon