初始化 std::map 在 class 中定义
Init std::map defined in class
大家好,我一直在寻找如何初始化这张地图,但找不到。
//Header
class EntityManager
{
//Other class code
private:
std::map<Entity*, EngineEntity*> _gEntMap;
//Other class code
}
//Source
EntityManager::EntityManager()
{
//How to init map?
}
我问这个是因为当我尝试在这张地图中添加东西时,因为它没有初始化而给我一个错误。
因为它是 std::map
的对象,所以它应该自动初始化并准备好使用。如果您在尝试将内容插入地图时遇到错误,那是因为您做错了,而不是因为地图未初始化。
在您的特定地图中插入的示例:
_gEntMap.insert(std::make_pair(PointerToEntity, PointerToEngineEntity));
大家好,我一直在寻找如何初始化这张地图,但找不到。
//Header
class EntityManager
{
//Other class code
private:
std::map<Entity*, EngineEntity*> _gEntMap;
//Other class code
}
//Source
EntityManager::EntityManager()
{
//How to init map?
}
我问这个是因为当我尝试在这张地图中添加东西时,因为它没有初始化而给我一个错误。
因为它是 std::map
的对象,所以它应该自动初始化并准备好使用。如果您在尝试将内容插入地图时遇到错误,那是因为您做错了,而不是因为地图未初始化。
在您的特定地图中插入的示例:
_gEntMap.insert(std::make_pair(PointerToEntity, PointerToEngineEntity));