前提
C++でunique_ptrとvectorを使用して開発中
実現したいこと
unique_ptrのvectorへinsertを行いたい
発生している問題・エラーメッセージ
オーバーロードされた関数 "std::vector<_Ty, _Alloc>::insert [代入_Ty=std::unique_ptr<A, std::default_delete<A>>, _Alloc=std::allocator<std::unique_ptr<A, std::default_delete<A>>>]" のインスタンスが引数リストと一致しません
該当のソースコード
c++
1class A { 2public: 3 int n; 4 A(int num) { n = num; } 5}; 6 7int main(void) { 8 std::vector<std::unique_ptr<A>> v; 9 10 std::unique_ptr<A> a = std::make_unique<A>(2); 11 // OK 12 v.push_back(std::make_unique<A>(1)); 13 v.push_back(std::make_unique<A>(3)); 14 // OK 15 // v.push_back(std::move(a)); 16 17 // エラー 18 v.insert(1, std::move(a)); 19 20 return 0; 21}
試したこと
補足情報(FW/ツールのバージョンなど)
VS2022
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/07/17 09:16