从多维地图中删除值?

时间:2016-10-20 15:36:30

标签: c++ dictionary voxel

我目前正在用c ++制作自己的体素引擎,但我似乎遇到了一个问题。

我使用基于块的系统并将其存储在三维地图中,变量定义如下所示:

map<uint64_t,map<uint64_t,map<uint64_t,Chunk*>>> Chunks;

但是,我无法找到从地图中删除任何值的正确方法,我尝试使用map::erase函数但没有成功,有没有什么好方法可以做到这一点我我不知道?

点:S 这是我正在尝试的map::erase函数:

Chunks[x][y].erase(z); 

提前致谢!

1 个答案:

答案 0 :(得分:0)

地图是键值类型,因此您无法尝试以数组形式进行访问:

尝试通过示例删除第一个元素:

Chunks.erase(KeyOfFirstElement);

自: http://www.cplusplus.com/reference/map/map/erase/