1、普通函数可以发生隐式类型转换
2、函数模板只能为显示指定类型调用时才能发生隐式类型转换
#include<iostream>
using namespace std;
//1、普通函数隐式类型转换
//2、函数模板发生隐式类型转换只能为显示指定类型
//普通函数
int myAdd(int a,int b)
{
return a+b;
}
void test01()
{
int a=10;
int b=20;
char c='c';
//普通函数隐式类型转换,将字符型的c隐式转换微ASCAll码值
cout<<myAdd(a,c)<<endl;
}
//函数模板
template<typename T>
T myAdd02(T a,T b)
{
return a+b;
}
void test02()
{
int a=10;
int b=20;
char c='c';
//函数模板自动类型推导 不能发生隐式类型转换
cout<<myAdd02(a,b)<<endl;
//cout<<myAdd02(a,c)<<endl;
//函数模板显式指定类型 能够发生隐式类型转换
cout <<myAdd02<int>(a,c)<<endl;
}
int main()
{
//test01();
test02();
return 0;
}