#include<iostream>
#include<list>
#include<vector>
template<typename Container>
void remove(Container &list){
typename Container::iterator iter;
iter = list.begin();
while(iter != list.end()){
iter = list.erase(iter);
if(iter ! = list.end())
iter++;
}
}
int main(){
std::list<int> chess;
std::vector<int> v;
for (int n=0; n<100; n++){
chess.push_back(n);
v.push_back(n);
}
remove(chess);
remove(v);
std::cout<<chess.back()<<std::endl;
std::cout<<v.back()<<std::endl;
return 0;
}
[Error] expected')'before'!'令牌以下代碼有什麼問題?迭代器類型在模板函數中不起作用?
[錯誤]無法轉換 'ITER' 從 '的std ::目錄::迭代器{又名性病:: _ List_iterator}' 到 '布爾'
[錯誤]無法轉換 'ITER' 從「的std ::向量:迭代{又名__gnu_cxx :: __ normal_iterator>}」到 '布爾'
先到先得。 –