我有一些問題想我的地圖轉換成一組 我得到了與該成員數據的「香頌」對象:如何映射轉換成設定
std::map<std::string,Artiste*> m_interpretes;
這裏是如何添加我*Artiste
我圖:
void Chanson::addArtiste(Artiste* a) throw (ExceptionArtiste, ExceptionLangueIncompatible)
{
if(a!=NULL)
{
if(a->getLangue() == this->getLangue())
{
m_interpretes.insert(pair<string, Artiste*>(a->getNom(), a));
//m_interpretes[a->getNom()] = a;
}
else
{
throw ExceptionLangueIncompatible(a,this);
}
}
}
set<Artiste*> Chanson::getArtistes() const
{
//set<Artiste*> machin;
return set<Artiste*> (m_interpretes.begin(), m_interpretes.end());
}
我得到這個錯誤是由於此功能:
錯誤C2664:「的std ::對< _Ty1,_Ty2>的std ::設置< _Kty> ::刀片(藝人* & &):不可能去convertir樂paramètre1日常量性病::對< _Ty1,_Ty2> EN '藝人* & &' C:\程序文件(x86)\ microsoft visual studio 11.0 \ vc \ include \ set 179 1
任何想法如何解決它?
你爲什麼要在容器中存儲指針?這看起來像是一個等待發生的內存泄漏。 – Mgetz 2014-10-17 12:55:38
第二個問題:爲什麼使用動態異常規範?它們會導致各種奇怪的事情發生,並放慢你的代碼,目前的一般建議是完全避免它們。 – Mgetz 2014-10-17 13:02:44
事實上,在最新的標準中,動態異常規範已被棄用。 – user2079303 2014-10-17 13:04:33