If a
template-parameter
of a class template, variable template, or alias template has
a default template argument,
each subsequent
template-parameter
shall either have a default template argument supplied or
declare a template parameter pack
. A template parameter of a deduction guide template (
[temp.deduct.guide])
that does not have a default argument shall be deducible
from the parameter-type-list of the deduction guide template
. [
Example 8:
template<class T1 = int, class T2> class B;
template<class. T, class. U> void f() { }
template<class. T, class U> void g() { }
—
end example]