【发布时间】:2018-12-09 02:57:00
【问题描述】:
当你有 C++17 中可用的类模板参数推导时,为什么你不能推导 std::unique_ptr 的模板参数?例如,这给了我一个错误:
std::unique_ptr smp(new D);
说“类模板的参数列表丢失”。
模板参数(至少是指针类型)不应该是可推导的吗?
任何指定变量初始化的声明和 变量模板
【问题讨论】:
-
不是答案,只是想知道你为什么不首先使用
make_unique..? -
@Someprogrammerdude C++17 添加了类模板推导指南,使用构造函数调用来推导类的模板类型。
-
@Someprogrammerdude 那么引用的措辞是不是对 cppreference 有点误导? (即将用引用更新问题:))
-
@JesperJuhl 对我来说,我想使用 struct 聚合初始化程序。
make_unique好像不支持。
标签: c++ templates c++17 template-argument-deduction