Infoというクラスがあります。
このクラスのリストを保持するために unique_ptr ベクトルを作成してみました。
マップには、キーが文字列として含まれ、unique_ptr が値として含まれます。
しかし、マップから値を取得し、それをベクトルに入れてリストを作成しようとすると、VS2010 コンパイラでエラーが発生します: error C2664: 'void std::vector<_Ty>::push_back(_Ty &&)' :パラメータ 1 を 'std::vector<_Ty>' から 'std::unique_ptr<_Ty> &&' に変換できません
vector<unique_ptr<Info>> sInfo;
QMap<QString,vector<unique_ptr<Info>>>::Iterator iterMap;
for(iterMap = map_sInfo.begin(); iterMap != map_sInfo.end(); ++iterMap)
{
vector<unique_ptr<Info>>sValue = iterMap.value();
sInfo.push_back((sValue)); //error C2664
}
これに関する任意の助けをいただければ幸いです。