c++ vector 删除一个元素 为什么删不掉呢 ??
我定义了一个vector<CString> vlist;
向里面添加了几个元素
bool MyList::AppendKey(CString key){
if(key==""){
return false;
}else{
if(IsExitsKey(key)){
MyList::v_stringList.push_back(key);
return true;
}else{
cout<<"--------------The key isExits---------------"<<endl;
return false;
}
}
}
然后我删除的时候
cout<<"----------------------Please enter a delete key------------"<<endl;
char temp[1024]={0};
cin>>temp;
CString str = temp;
bool b = ml.DeleteKey(str);
if(b){
cout<<"---------------------DELETE SUCCESS----------------"<<endl;
}else{
cout<<"---------------------DELETE FIELD------------------"<<endl;
}
bool MyList::DeleteKey(CString key){
vector<CString> vlist = MyList::v_stringList;
cout<<key<<endl;
vlist.erase(remove(vlist.begin(),vlist.end(),key),vlist.end());
if(!IsExitsKey(key)){
return true;
}else{
return false;
}
}
屏幕接收的一模一样的值 就是删不掉 是我哪里写错了吗??