问题
单项选择题
下面不属于同一函数模板的是( )。
A.template<class t1> t1 max(t1 &a,t1 & {…}template<class t2> t2 max(t2 &a,t2 & {…}
B.template<class t1>t1 max(t1 a,t1 {…}template<class t2>t2 max(t2 &a,t2 &{…}
C.template<class t1> t1 max(t1 * a,t1 * {…} template<class t2> t2 max(t2 &a,t2 & {…}
D.template<class t1>t1 max(t1 a,t1 {…}template<class t2>t2 max(t2 &a,t2 &b,t2 {…}
答案
参考答案:D
解析: 函数模板的重载是靠模板参数的数量不同来区分的,因为函数模板是抽象的,有待于进一步实例化,所以靠参数类型无法区别调用哪个函数模板。