int main(int argc, _TCHAR* argv[]) { vector<int> array; array.push_back(1); array.push_back(2); array.push_back(2); array.push_back(3); for(vector<int>::iterator iter = array.begin();iter!=array.end();){//删除一个vector里面的2 if(2==*iter) iter = array.erase(iter);//erase操作返回的是删除元素的下一个迭代器 else ++iter; } for(vector<int>::size_type i = 0;i<array.size();i++) cout<<array[i]<<endl; }