在编写一个采用通用双向迭代器的函数之前,我想测试一下它对整数向量的工作方式。
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>
运算符++
,*
并且未在其上定义。显然我做错了什么,希望得到帮助。