|
@@ -1864,6 +1864,8 @@ template <typename... Ts, typename U> class Y<Ts..., U> {}; // (4) error!
|
|
答案在这一节的早些时候。(3)和(1)不同,它并不是模板的原型,它只是`Y`的一个偏特化。回顾我们在之前所提到的,偏特化时,模板参数列表并不代表匹配顺序,它们只是为偏特化的模式提供的声明,也就是说,它们的匹配顺序,只是按照`<U, Ts...>`来,而之前的参数只是告诉你`Ts`是一个类型列表,而`U`是一个类型,排名不分先后。
|
|
答案在这一节的早些时候。(3)和(1)不同,它并不是模板的原型,它只是`Y`的一个偏特化。回顾我们在之前所提到的,偏特化时,模板参数列表并不代表匹配顺序,它们只是为偏特化的模式提供的声明,也就是说,它们的匹配顺序,只是按照`<U, Ts...>`来,而之前的参数只是告诉你`Ts`是一个类型列表,而`U`是一个类型,排名不分先后。
|