1. 字面量不可直接相加
#include <stdio.h>
using namespace std;
template <typename T>
void test(T v1, T v2){
T t;
t = v1 + v2;
cout<<t;
}
int main(){
string m = "Hello";
string n = "World!";
test(m,n);
//test("Hello","World!");报错,字面量不可直接相加
return 0;
}
2.常量引用可直接代数
#include <stdio.h>
using namespace std;
template <typename T>
void test(const T &v1, const T &v2) //test(2,3)不会报错!!!
//void test(T &v1, T &v2) // test(2,3)会报错!!!
{
T t;
t = v1 + v2;
cout<<t;
}
int main(){
test(2,3);
return 0;
}