读书人

小弟学习vector使用想尝试使用上迭代

发布时间: 2013-02-18 10:50:49 作者: rapoo

小弟学习vector使用,想尝试使用下迭代器,遇到错误实在没招出来。请前辈们指教
本帖最后由 xiaolongren1989 于 2013-01-28 16:17:48 编辑 #include <iostream>
#include <vector>
using namespace std;

template <typename T>
void Reverse (vector<T> &v) {
vector<T> temp;
if (v.empty()) {
temp = v;
} else {
for (vector<T>::reverse_iterator rit = v.rbegin(); rit != v.rend(); rit++) {
temp.push_back(*rit);
}
}
v = temp;
}

int main () {
vector<int> v;
for (int i = 0; i < 5; i++) {
v.push_back(i);
}
Reverse<int> (v);
return 0;
}

小弟使用code:blocks下的gcc编译报出错误
11: error: expected ';' before 'rit'
11: error: 'rit' was not declared in this scope
:11: error: dependent-name 'std::vector::reverse_iterator' is parsed as a non-type, but instantiation yields a type

[解决办法]


typename vector<T>::reverse_iterator rit ...试试

读书人网 >C++

热点推荐