0
我有一个名为Info的类。将unique_ptr与矢量和地图一起使用
我试着创建一个unique_ptr向量来存放这个类的列表。
该映射包含的键为字符串,unique_ptr为值。
但是当我尝试检索从地图的价值,并试图把它变成一个载体,形成列表,VS2010编译器提供了一个错误: 错误C2664:“无效的std ::矢量< _Ty> ::的push_back( _Ty & &):性病::矢量< _Ty>”不能转换参数1 '' 到 '的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
}
如何让 任何帮助,对此会非常感谢。
谢谢Timo,我确实选择了第一个选项,它确实有效。但现在我遇到了QMap.error C2248问题:'std :: unique_ptr <_Ty> :: operator =':无法访问在类'std :: unique_ptr中声明的私有成员'<_Ty>' – Dilshad