怎样对QVector进行添加和删除操作,该怎么处理

怎样对QVector进行添加和删除操作
我定义了一个QVector,里边存放的是结构体。我在用erase进行删除一个结构体时,达不到想要的效果。比如,容器中存的是1,2,3,4,5. 我删除了2之后,就变为了1,3,4,4,5. 而我想要的结果是1,3,4,5.

我在进行添加操作的时候,使用push_back,为什么每次插入的不是最后一个位置。

纠结啊。。。在线等。。。

------解决方案--------------------
把 I<projectss.size()改成i!=projectss.size()
如果SproPath太长的话也许不会进行完全的比对
projectss.size()-1不会改变projectss的大小,
第二次删除的时候会重复设置同一个值
------解决方案--------------------
迭代器删除的问题
------解决方案--------------------
QVector 这个是啥东东没用过
如果是跟vector一样功能的话,估计就是如下:
for (QVector<START_PROJECT_SET>::iterator iter = projectss.begin();iter != projectss.end();)
{
if(iter->sProjectPath == sProPath)//进行路径匹配
{
projectss.erase(iter);//删除该行
}
else
{
iter++;
}
}
------解决方案--------------------
我用 QVector<QString> stringVector; 测试了一下 没什么问题啊!

void qtTestCheckSum::delQvector(QString deldata)
{
for (int i = 0; i < stringVector.size(); i++)
{
if(stringVector[i] == deldata)//进行路径匹配
{
stringVector.erase(stringVector.begin()+i);//删除该行
//stringVector.resize(stringVector.size()-1);//设置大小
}
}
}

我 跟踪 调试了一下 能正常删除啊!