普通函数:
#include <iostream>
#include<string>
using namespace std;
int add(int a,int b)
{
return a + b;
}
void test01()
{
int a = 10;
int b = 10;
char c = 'c';
cout<<add(a, b)<<endl;
cout << add(a, c) << endl;//普通函数会自动隐式转换
}
int main()
{
test01();
}
函数模板:
#include <iostream>
#include<string>
using namespace std;
//函数模板
template<class T>
T add(T a,T b)
{
return a + b;
}
void test01()
{
int a = 10;
int b = 10;
char c = 'c';
//自动类型推导
cout << add(a, b)<<endl;
//显示指定类型,
cout<<add<int>(a,c)<<endl;//必须加<int>否则报错,因为函数模板不会自动隐式转换
}
int main()
{
test01();
}