函数模板形参 有点没弄明白
例子:
template<typename T>
void fun(T& t1, T& t2)
{....}
int main()
{
int n = 10;
fun(1,2);//① 正确
fun(n,2);//② 错误
return 0;
}
①和②这两个地方让我有点糊涂。①成功是因为T的类型此时被替换成了const int类型吗??
②错误的地方是因为n和数字2的类型不同(一个是int 一个是const int) 还是因为int&不能绑定const int
①是正确的 那么fun中 T&和const T&岂不是一样了????
函数模板形参这个地方 有什么规律可循吗 |