Я выкопать старый проект и хотел собрать его, но получил несколько ошибок, некоторые из тех, будучи C2664:C2664 в Visual Studio 2012 при использовании make_pair
error C2664: 'std::make_pair' : cannot convert parameter 1 from 'CUser *' to 'CUser *&&'
error C2664: 'std::make_pair' : cannot convert parameter 1 from 'unsigned long' to ' unsigned long &&'
Соответствующие кодовые части:
//typedef for the userdata map
typedef std::map<unsigned long, std::pair<CUser*,userstatus*>> UserDataMapType;
//...
Inc::incret CUserManager::AddUser(unsigned long ID, CUser* pUser, userstatus* pUserStatus)
{
//...
std::pair<UserDataMapType::iterator, bool> ret = m_mapUserData.insert(std::make_pair<unsigned long, std::pair<CUser*, userstatus*>>(ID, std::make_pair<CUser*, userstatus*>(pUser, pUserStatus)));
//...
}
Я попытался сделать параметры функции const
, но это не помогло.
Он просто скомпилировал VS2010.
Пожалуйста, помогите мне найти причину этого и как его решить.