可以直接这样吗
template<typename T1,typename T2>
void test(T1& t1,T2& t2)
{
// do something
};
void main()
{
int a = 10;
float b = 10.0f;
test(a,b);
}
还是必须这样:
template<typename T1,typename T2>
void test(T1& t1,T2& t2)
{
// do something
};
void main()
{
int a = 10;
float b = 10.0f;
test<int , float > T(a,b);
}
解决方案
10
第一种就可,你不深感第二种太麻烦了吗,本来就是为了方便使用而设计的
10
可以,模板参数会从调用时各表达式的类型推断出来,只要全部模板参数都能被推断,就可以不写明参数
10
两种都行,各有各的用处。第二种得把那个 T 去掉。
20
第一种和第二种都可
你这种情况编译器可以本人推导出来,所以可以用第一种,让编译器本人推导参数类型
你这种情况编译器可以本人推导出来,所以可以用第一种,让编译器本人推导参数类型