Шаблон не скомпилирован: "double" не является допустимым типом для параметра константы шаблона

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

Ответ 1

Единственными численными типами, действительными для параметра шаблона nontype, являются целые числа и перечисления. Таким образом, у вас не может быть параметра типа nontype типа double.