пожалуйста, помогите понять следующий сценарий
template<typename T1,typename T2=int> class A;
template<typename T1=int,typename T2> class A;
template<typename T1,typename T2> class A{ }
// yields to template<typename T1=int,typename T2=int> compiling fine
но когда я использую шаблон нетипа, он дает ошибку
template<typename T1,int i=4> class A;
template<typename T1=int,int i> class A;
template<typename T1,int i> class A{ } // error : redefinition of default parameter 2
это слияние не будет работать с типом шаблона и нетипом ??