o iterador de lista não é incrementável

Eu tenho um projeto antigo que foi construído usando o visual studio 2003 e eu recompilei com o vs2005 recentemente. No entanto, durante o tempo de execução, recebo o seguinte erro:

o iterador de lista não é incrementável

Eu segui o programa para esta função:

void InputQueue::update()
{
    list<PCB>::iterator iter;
    list<PCB>::iterator iterTemp;
    for(iter = begin(); iter != end(); iter++)
    {
        if(iter->arrivalTime == 0)
        {           
            ReadyQueue::getInstance()->add(*iter);
            iterTemp = iter;
            iter++;
            erase(iterTemp);
        }
    }
}

Eu não sou um especialista em C ++ e isso é tanto quanto o depurador VS me pegou. Alguém poderia me explicar qual é o problema?

obrigado

questionAnswers(8)

yourAnswerToTheQuestion