我想创建一个std::array只有数字类型的别名
template<typename T, std::size_t n, T = std::is_arithmetic<T>::value>
using NumericArray = std::array<T, n>;
Run Code Online (Sandbox Code Playgroud)
这适用于整数
NumericArray<int, 2> i{1, 2};
Run Code Online (Sandbox Code Playgroud)
但是,如果我想要一个浮点数或双精度,我会因非类型模板参数而出错
NumericArray<float, 2> f{1.0f, 2.0f};
Run Code Online (Sandbox Code Playgroud)
还有其他方法可以做到这一点吗?