【发布时间】:2012-07-17 22:32:54
【问题描述】:
在编写一个采用通用双向迭代器的函数之前,我想测试一下它对整数向量的工作原理。
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> 并且运算符 ++ 和 * 没有在其上定义。显然我做错了什么,希望得到帮助。
【问题讨论】:
-
This article 可能会很有趣。