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

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

while((*(It2 + code)).exists){


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++;
    }
}

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

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

6
задан juanchopanza 24 April 2015 в 14:05
поделиться