从多维地图中删除价值?

Deleting Value From Multi Dimensional Map?

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

我正在使用基于块的系统并将其存储在 3 维映射中,变量定义如下所示:

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

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

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

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

提前致谢!

地图是键值类型,所以你不能尝试作为数组访问:

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

Chunks.erase(KeyOfFirstElement);

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