#includeusing namespace std; template T Fun(T a, T b) { return a - b; } int main(int argc, char **argv) { cout << Fun(3, 2) << endl; cout << Fun(3.5, 2.7) << endl; return 0; }
2、std::string 类类型
#include#include using namespace std; template T Fun(T a, T b) { return a - b; } int main(int argc, char **argv) { string a = "123"; string b = "456"; cout << Fun(a, b) << endl; return 0; }
发现报错了,std::string 不支持 - 操作 ,但它支持 + 操作(运算符重载)
修改一下
3、template
T Fun(T a, T b)
{
return a + b;
}
所以在编写函数模板的时候要注意是否合法或支持该操作
但这种错误一般都在编译期间就能检测出来了。
暑期编程PK赛 得CSDN机械键盘等精美礼品!


