【发布时间】:2013-08-10 05:54:42
【问题描述】:
我正在尝试从迭代器中获取索引值。但我不断收到错误“间接需要指针操作数('long'无效)” 任何的想法?我需要获取索引。在下面的例子中,它应该输出 2。
template<typename T>
void practice(T begin, T end) {
T it = begin;
it++;
it++;
auto index = it - begin;
cout << *index;
【问题讨论】:
-
为什么要取消引用索引(它本质上是不可分割的)?由于您接受任何类型的迭代器,请使用
std::distance。我建议您这样做,即使您不这样做,以防以后发生变化。
标签: c++ templates pointers indexing iterator