我正在尝试将 unique_ptr 传递给自定义矢量类,但我收到主题标题中的错误。
我知道您无法复制 unique_ptr ,因此我在传递它时尝试使用 std::move() ,但这似乎并不能解决我的问题......我哪里出错了?
提前致谢
template<typename T>
class VectorSelectable {
public:
void Add(const T& v) {
m_Items.push_back(move(v));
}
private:
vector<T> m_Items;
};
class FunctionType {
int m_Data;
};
int main()
{
VectorSelectable<unique_ptr<FunctionType>> vec;
vec.Add(move(make_unique<FunctionType>()));
return 0;
}
编辑:将 'const' 添加到 'Add(const T& v)'