【发布时间】:2016-09-16 07:29:45
【问题描述】:
我想创建一个只有数字类型的 std::array 别名
template<typename T, std::size_t n, T = std::is_arithmetic<T>::value>
using NumericArray = std::array<T, n>;
这适用于整数
NumericArray<int, 2> i{1, 2};
但是如果我想要一个浮点数或双精度数,我会因为非类型模板参数而出错
NumericArray<float, 2> f{1.0f, 2.0f};
还有其他方法可以做到这一点吗?
【问题讨论】: