请教map的全局对象的释放,谢谢
定义了一个 std::map<u32, std::map<u32, std::string> > m_StringKeyMap;
调试进在析构函数的时候
报这个错误:
_ASSERTE(_CrtIsValidHeapPointer(pUserData));
尝试 用StringKeyMap.clear();
用swap都不行。
请各位大仙 大侠 求助。
工程是MFC的工程。
[解决办法]
std::map<unsigned int, std::string> mp;
mp[1] = "aa";
m_StringKeyMap[2] = mp;
cout<<m_StringKeyMap.size()<<endl;
m_StringKeyMap.clear();
cout<<m_StringKeyMap.size()<<endl;
vs2005,没发现什么问题。
[解决办法]
某个东西在释放后还在使用?
没必要使用全局对象,尤其是stl的