如何从矢量中删除元素?

时间:2016-02-29 21:11:27

标签: c++

所以我必须编写自己的方法。

我做了以下事情:

vector<float> remove(vector<float>& sortedVector, float input)
{

    for (vector<float>::iterator it = sortedVector.begin() ; it != sortedVector.end(); ++it)
    {
        if(input == *it)
        {
            sortedVector.erase(it);
        }
    }

    return sortedVector;
}

然而编译器在for循环中断开。我哪里做错了?我需要在从向量中删除用户的给定值后返回修改后的向量。

Output of the error

1 个答案:

答案 0 :(得分:0)

为什么要自己动手?你可以这样做:

vector.erase(std::remove(vector.begin(), vector.end(), item_to_delete ), vector.end());