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]