函数模板重载(不容易哦)?

czcwzw czcwzw 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
template<class T>
void fun(const T& a,const T& b)
{
}
void fun(const char* a,const char*b)
{

}
void main()
{
char *p= "aaa";
char *q = "bbb";
fun(p,q);

}
先说下在vs2008下运行结果,是调用模板函数.
这个结果我无法理解.
我的想法是:

对于普通函数,实参跟形参需要进行如下转换
实参 形参
char* -> const char*
/////////////////////////////////////
对于模板函数,实参跟形参需要进行如下转换
实参 形参
char* -> char* const&
如果都要进行转换,那么普通函数应该要优先于模板函数才对.
但是为什么结果是调用模板函数呢?难道模板函数不需要类型转换吗???
...全文

相关推荐

评论 8
收藏 已收藏
分享
返回顶部
czcwzw
C++ 语言 65,214 成员 250,514 内容