记录一下C++的模板中遇到的问题

来源:互联网 发布:淘宝运营开放平台 编辑:程序博客网 时间:2024/05/19 20:22

 这两天刚接触C++,遇到一点关于函数模板的问题,发个博客记录一下。大笑大笑

在T max(T& a, T& b)不将引用作为函数参数的话就会报错,即T max(T  a, T  b)就会报错。而且函数模板声明的时候不需要加上分号。本人就因为看了谭浩强的《C++面向对象程序设计》一书被坑了很久,故发条博客希望其他朋友们遇到同样的问题能够快点解决。


另外,写模板要把声明和实现全部在同一个文件中实现(可以都放在".h"文件中),否则就会报错

#include <iostream>using namespace std;template<typename T>T max(T& a, T& b){if(a<b)a = b;return a;}int main(){int a = 545; int b =43;int c = max(a,b);    cout << b << " " << c << endl;    float aa = 1.2;    float bb = 0.8;    float cc = max(aa,bb);    cout << bb << " " << cc << endl;    return 0;}