Boucle de suppression d'éléments d'une Map
Bonjour,
j'ai un petit problème avec ce code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| void CTest::PurgeRequest ()
{
CSingleLock Lock (&m_semRequest, TRUE);
std::map<DWORD, HCALL>::iterator it;
for( it = m_mapWaitReq.begin(); it != m_mapWaitReq.end(); it ++)
{
if( GetInCallFromHandle( (*it).second ) == NULL )
m_mapWaitReq.erase( it );
}
return;
}// CTest::PurgeRequest |
Ma suppression n'est pas correcte, et fait planter si je supprime le dernier élément.
J'ai bien regardé cette page :
http://c.developpez.com/faq/cpp/?pag...ssion_elements
mais cela ne semble pas adapté au parcours des map ...
Merci de votre aide.