map/set iterator not incrementablemap/set iterator not incrementable

Driver::~Driver()
{
    AutoCritSec acsDriverList(m_csDriverList,true);
    DRIVERLIST::iterator it = m_DriverList.begin();
    for(;it!=m_DriverList.end();it++) 
    {
        if (it->second == this) 
        {
            m_DriverList.erase(it);
            it = m_DriverList.begin();
        }
    }
}

Когда я компилирую свою программу в visual studio 2003, моя программа ведет себя хорошо и отлично. но когда я делаю то же самое в 2010, то при закрытии приложения я получаю ошибку типа

Expression:map/set iterator not incrementable

и когда я нажимаю игнорировать это, я получаю

Expression:"standard c++ library out of range" && 0

Есть ли у кого-нибудь идеи, что здесь происходит: Я буду чрезвычайно признателен за любые предложения от любого человека. Огромное спасибо и теплые пожелания.

13
задан Patrick D'Souza 27 May 2013 в 08:48
поделиться