// 声明了多个泛型, 可以只使用其中的部分类型
// 使用函数模板时 , 显式类型调用 必须 显式指定所有 泛型类型 的实际类型
template
T add(T a,...// 使用函数模板时 , 显式类型调用 必须 显式指定所有 泛型类型 的实际类型
template
T add(T a, T b) {
cout 的调用规则 - 显式指定函数模板泛型类型
1、显式指定函数模板泛型类型
如果 函数调用时 , 显式指定函数模板类型 , 也就是在尖括号 中指定了泛型类型 ,
此时 即使...参数类型 能 匹配 普通函数 ,
也要调用 函数模板 ;
在下面的代码示例中 , 传入的实参类型 都是 int 类型 , 完全符合 普通函数的 调用规则 ,
但是 使用 显示指定了 函数模板...显式类型调用 必须 显式指定所有 泛型类型 的实际类型
template
T add(T a, T b) {
cout << "调用函数模板 T add(T a, T b)"