【发布时间】:2019-10-11 09:12:26
【问题描述】:
在另一个模板类型声明中使用的具有默认参数的模板类型是否支持类模板参数推导?以下代码不能同时使用 Clang/GCC 主干编译,它在定义 y 的行上失败:
#include <optional>
template <class T = char>
struct C {};
int main() {
C x;
std::optional<C> y;
}
(https://godbolt.org/z/SgxY90)
修改代码以读取std::optional<C<>> y 解决了这个问题,但我有点惊讶这是需要的。这是编译器问题,还是已知的语言限制?
【问题讨论】:
标签: c++ templates c++17 optional