lista iterador no incrementable

Tengo un proyecto antiguo que se construyó con Visual Studio 2003 y lo recompilé con vs2005 recientemente. Sin embargo, durante el tiempo de ejecución, obtengo el siguiente error:

lista iterador no incrementable

He rastreado el programa a esta función:

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

No soy un experto en C ++ y esto es lo que me dijo el depurador de VS. ¿Podría alguien explicarme cuál es el problema?

Gracias

Respuestas a la pregunta(8)

Su respuesta a la pregunta