template<typename T, T Min>
class LowerBoundedType {};
template<typename T> class vectorelement {};
template<> class vectorelement<Categorical> { typedef LowerBoundedType<double, 0.0> type; };
有错误:
error: 'double' is not a valid type for a template constant parameter
答案 0 :(得分:10)
对于非类型模板参数有效的唯一数字类型是整数和枚举。因此,您不能拥有double
类型的非类型模板参数。
答案 1 :(得分:0)
非类型模板参数只能是以下之一:
因此,它不能是双精度型或类型。 通常,非类型参数的基本原理是允许容器的大小和范围限制。