I'm looping through an STL map to delete elements and do some clean up. Unfortunately for me my program crashes on the ++iter line. Am I doing something wrong in how I'm looping over the map?
std::map<string,BoneHierarchy* >::iterator iter = boneMap.begin();
while(iter != boneMap.end()) {
string playerName = iter->first;
boneMap[playerName]->clear();
boneQueue->push(boneMap[playerName]);
boneMap.erase(iter);
++iter;
}