lista iteratora nie zwiększa się

Mam stary projekt, który został zbudowany przy użyciu visual studio 2003 i niedawno skompilowałem go z vs2005. Jednak w czasie wykonywania pojawia się następujący błąd:

lista iteratora nie zwiększa się

Prześledziłem program do tej funkcji:

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

Nie jestem ekspertem od C ++ i to jest tak daleko, jak mnie debuger VS. Czy ktoś mógłby mi wyjaśnić, na czym polega problem?

Dzięki

questionAnswers(8)

yourAnswerToTheQuestion