【发布时间】:2014-01-31 06:49:56
【问题描述】:
以N3651为基础,
类范围内的变量模板是一个静态数据成员 模板.
给出的例子是:
struct matrix_constants {
template <typename T>
using pauli = hermitian_matrix<T, 2>;
但以下所有定义都给出错误:
struct foo
{
template <typename T>
T pi = T{3.14};
};
template <typename T>
struct foo2
{
template <typename U = T>
U pi = U{3.14};
};
template <typename T>
struct foo3
{
template <T>
T pi = 42;
};
error: member 'pi' declared as a template
什么给了?
【问题讨论】:
-
这有必要吗?正如流行的免责声明所说,“这是一个早期的草案。众所周知,它是不完整和不正确的,而且它有很多错误的格式。我不确定我们是否需要为提案和草稿中的每个错误提供一个问题/答案。
标签: c++ c++14 variable-templates