Ошибка: «нет совпадения для оператора +», для итератора списка

Для кода ниже, я получаю ошибку в заголовке строки

<code>while((*(It2 + code)).exists){
</code>


<code>void locatetohashtable(std::list<Element> elist,
                       int *m,std::list<Element>& table,
                       std::list<std::string>& keylist )
{        
    std::list<Element>::iterator It2=table.begin();
    int i=0;
    int k=0;
    std::list<Element>::iterator It;
    for(It = elist.begin(); It != elist.end(); ++It)
    {
        int code=hash_func(stringIntValue((*It).name),*m,i);
        while((*(It2 + code)).exists){
            i++;
        }
        table.insert(*(It2+i), (*It));
        keylist.insert(keylist.begin(),(*It).name);
        k++;
    }
}
</code>

Я не получаю ту же ошибку для++It

В чем проблема?

Ответы на вопрос(4)

Ваш ответ на вопрос