私はスマートポインタのハングを取得しようとしています。私はunique_ptrのベクトルを持っていますが、それを作成することはできますが、アクセスすることはできません。今unique_ptrのベクトルにはどのようにアクセスしますか
vector<unique_ptr<double[]>> arrDoubles;
//...
unique_ptr<double[]>dataArr(new double[size]);
arrDoubles.push_back(move(dataArr));
、
auto datAr = arrDoubles[0];
は、次のようになります:
error: use of deleted function ‘std::unique_ptr<_Tp [], _Dp>::unique_ptr(const std::unique_ptr<_Tp [], _Dp>&) [with _Tp = double; _Dp = std::default_delete<double []>]’
'オートDATAR = arrDoubles [0]ので;'試みがするコピー構築 'unique_ptr'、そして、あなたが知っているように、'のstd :: unique_ptr'は、コピーコンストラクタを持っていません。 –
はい、あなたは正しいです。 –