迭代器操作不起作用

时间:2016-11-10 05:22:18

标签: c++ iterator

由于某种原因,在这个函数中它计算两个或更多相同值的“clumps”:

#include <iostream>
#include <iterator> 
#include <set>

int countClumps(multiset<int> set)
{
    int clumps = 0;

    for (multiset<int>::const_iterator iter(set.begin()), end(set.end()); iter != end; ++iter)
    {
        if (iter == iter[1] && iter != iter[-1])
        {
            clumps += 1;
        }
    }
    return clumps;
}

我收到错误“no operator'[]'匹配这些操作数”。为什么会这样?我认为像iter [i]和*(iter + i)这样的东西是标准操作?我确实试过*(iter + 1)但是这给了我相同的操作数错误但是+。有没有我忘记包括的东西?

0 个答案:

没有答案