Relative Content

Tag Archive for c++foreachstlunordered-set

c++ unordered set range-erase bug

std::unordered_set<Vector2i> basicWalls = FindWalls(floorPositions, cardinal2D); std::unordered_set<Vector2i> cornerWalls = FindWalls(floorPositions, Diagonal2D); printf(“basic walls size: %d, corner walls size: %dn”, basicWalls.size(), cornerWalls.size()); cornerWalls.erase(basicWalls.begin(),basicWalls.end());//to delete duplicates printf(“basic walls size: %d, corner walls size: %dn”, basicWalls.size(), cornerWalls.size()); Wall_World_positions.reserve(basicWalls.size() + cornerWalls.size()); Wall_CollisionBox.reserve(basicWalls.size() + cornerWalls.size()); LoadAppropriateWallTiles(basicWalls, floorPositions, cardinal2D); unordered set ‘range-erase’ invalidates basicwalls’s iterator, not that of ‘cornerWalls’ whose elements are […]