无法将参数1从“DWORD”转换为“DWORD&&”

时间:2017-03-27 11:30:00

标签: c++ visual-c++

有人知道如何解决此错误

  

错误C2664:'std :: pair   std :: make_pair(_Ty1&&,_ Ty2&&)':无法转换   参数1从'DWORD'到'DWORD&&'

这是完整的代码

#include "stdafx.h"

#ifdef __ITEM_LINK
#include "ItemLink.h"
int CLinkedItemMgr::AddLinkedItem(CItemElem *pItem)
{
    if(!pItem)
        return 0;
    m_mapLinkedItems.insert(make_pair<DWORD,CItemElem*>(++m_dwLinkedItemCount,pItem));
    return m_dwLinkedItemCount;
}
CItemElem *CLinkedItemMgr::GetLinkedItem(DWORD dwIndex)
{
    map<DWORD,CItemElem*>::iterator it = m_mapLinkedItems.find(dwIndex);
    if(it == m_mapLinkedItems.end())
        return FALSE;
    return it->second;
}
#endif

1 个答案:

答案 0 :(得分:2)

  

如何解决此错误?

删除显式模板参数。喜欢这样:

m_mapLinkedItems.insert(make_pair(++m_dwLinkedItemCount, pItem));