我正在做一个需要的项目

class MyObj;

map<string, MyObj*> myMap;

这里的逻辑是将文件名映射到MyObj类。

如果我尝试插入以下内容
string strFilename = "MyFile";
MyObj* pObj  = new MyObj();

myMap.insert(strFileName, pObj); // This line throwing following error.



谁能帮我解决这个问题。有没有更好的方法可以使用STL做到这一点

最佳答案

我已经对这些东西进行了类型定义,以使其更具可读性...

typedef std::map<std::string, MyObj*> MyMap;
typedef std::pair<std::string, MyObj*> MyPair;

MyMap myMap;
string strFilename = "MyFile";
MyObj* pObj = new MyObj();
myMap.insert(MyPair(strFilename, pObj));

关于c++ - 如何在 map 中存储指针,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4088387/

10-12 23:43