【初心者歓迎】C/C++室 Ver.93【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0007デフォルトの名無しさん
2014/10/06(月) 04:56:27.02ID:PopA18EU質問させて頂いた折に
>>std::list<抽象クラス*> list;
>>list.push_back(new 派生クラス);
>>ならできる
>>できるけど入れるのはunique_ptrにしとけよ
>>std::list<std::unique_ptr<base>>
と教えて頂いたので
std::list<std::unique_ptr<Base>> base_list;
base_list;.push_back( new 派生クラス );
としたのですが、
オーバーロードされた関数
"std::list<_Ty, _Alloc>::push_back [代入_Ty=std::unique_ptr<Base, std::default_delete<Base>>,
_Alloc=std::allocator<std::unique_ptr<Base, std::default_delete<Base>>>]"
のインスタンスが引数リストと一致しません
引数の型: (派生クラス *)
と出て格納できません...
単純に引数の型が違うぞ
ということだとは分かるのですが
これだと派生クラスを格納できないです...
何が間違っているのか教えていただけると幸いです。
よろしくお願いします。
■ このスレッドは過去ログ倉庫に格納されています