我已經搜索瞭解決問題的方法,但未找到答案。以下代碼僅用於學習目的。我想刪除值爲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