I'm trying to delete all entries in a map where value == 50 for any key.
This code is working fine for me.
while (itr != mymap.end())
{
if ((*itr).second == 50)
mymap.erase(itr++);
else
itr++;
}
But this code is giving run time error.
while (itr != mymap.end())
{
if ((*itr).second == 50)
{
mymap.erase(itr);
itr++
}
else
itr++;
}
My doubt is aren't both logic is same? why run time error in second case?