C++ 为什么std::map赋值失败
以下Window是我自定义的类,sm_mHandletoWindow是它的静态成员,m_hWnd是它的成员用以下方式赋值sm_mHandletoWindow.insert...
以下Window是我自定义的类,sm_mHandletoWindow是它的静态成员,m_hWnd是它的成员
用以下方式赋值
sm_mHandletoWindow.insert(std::pair<HWND, Window*>(m_hWnd, this));
之后调试,发现sm_mHandletoWindow[m_hWnd] == 0
而用sm_mHandletoWindow[m_hWnd] = this;赋值就没有问题
还有为什么std::map<HWND, Window*>干很多事情都没问题,而std::map<HWND, Window&>会报错? 展开
用以下方式赋值
sm_mHandletoWindow.insert(std::pair<HWND, Window*>(m_hWnd, this));
之后调试,发现sm_mHandletoWindow[m_hWnd] == 0
而用sm_mHandletoWindow[m_hWnd] = this;赋值就没有问题
还有为什么std::map<HWND, Window*>干很多事情都没问题,而std::map<HWND, Window&>会报错? 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询