请教这段使用临界区的代码为什么会Crash呢?
程序代码:
莫非hash_map不允许使用带临界区的对象么?还是一旦初始化了临界区的对象就不允许复制了?? #include "stdafx.h" #include <windows.h> #include <hash_map> #include <string> using namespace std; using namespace stdext; class CTest { public: CTest() { memset(&m_sec, 0, sizeof(CRITICAL_SECTION)); InitializeCriticalSection(&m_sec); } virtual ~CTest() { DeleteCriticalSection(&m_sec); } protected: CRITICAL_SECTION m_sec; }; int _tmain(int argc, _TCHAR* argv[]) { hash_map<std::string,CTest> m_test; CTest objPingTest; m_test["test"] = objPingTest; return 0; }