在编写一个接收通用双向迭代器的函数之前,我想先测试它在整数向量上的工作原理。
vector<int> a(10,1);
iterator<bidirectional_iterator_tag, int> i = a.begin();
for (; i != a.end(); ++i) cout << *i;
这段代码无法编译。g++报错称无法将begin()的返回类型转换为iterator<bidirectional_iterator_tag, int>
,并且在其上未定义++
和*
运算符。显然我做错了什么,希望得到帮助。