次のコード
using vptr = std::vector<std::unique_ptr<int>>;
auto m = std::unordered_map<int, std::any>{};
m.try_emplace(0, move(vptr{}));
の削除されたコピー コンストラクターの使用について不平を言って、コンパイルに失敗しますunique_ptr
。テンプレート引数で置き換えstd::any
た後vptr
、このコードはコンパイルされるため、問題は明らかにany
std::any
コピーではなく強制的に移動するにはどうすればよいですか?