A template argument
E for
a constant template parameter with declared type
T
shall be such that the invented declaration
T x = E ;
satisfies the semantic constraints for the definition of
a
constexpr variable with static storage duration (
[dcl.constexpr])
.
If the parameter type thus deduced is not permitted
for a template parameter declaration (
[temp.param]),
the program is ill-formed
.