//这个函数接受两个参数,一个 Vec 类型的向量和一个 T 类型的元素,并返回 // 匹配参数并成功从向量中删除的元素的数量。//其他元素的顺序应该保持不变。
//我已将此添加到 .h 文件中,并尝试从 test.cpp 文件中调用此函数,其中包含以下行:
int num_ele = remove_matching_elements(v, 22);
cout << num_ele << endl;
//其中v是{11,22,33,11,55,33}
template <class T> int remove_matching_elements(Vec<T>& v, const T& t) {
int counter = 0;
int i;
for(i = 0; i < v.size(); i++){
if(v[i] == t){
counter++;
while(i < v.size()-1){
v[i] = v[i+1];
}
v.resize(v.size()-1,0);
}
}
return counter;
}