为了账号安全,请及时绑定邮箱和手机立即绑定

模版函数和普通函数重载的问题

模版函数和普通函数重载的问题

C++
gd5178 2015-08-17 21:56:02
#include <iostream> #include <stdlib.h> using namespace std; template <typename T1,typename T2> void f(T1 &a,T2 &b) { cout<<"I'm template func"<<endl; } void f(int a ,char b) { cout<<"I'm normal func"<<endl; } int main() { int a = 222; char b = 'bbb'; f(a,b); f(b,a); f(a,a); f(b,b); system("pause"); return 0; }输出: I'm normal func           I'm tmeplate func           I'm tmeplate func           I'm tmeplate func求大神解答一下,c++编译器在调用函数的时候,是怎么区分普通函数的类型转换以及模版函数的类型匹配呢?一般项目开发中有这样的重载吗?如果有的话,怎么样让c++编译器来满足程序员的调用意愿呢?
查看完整描述

1 回答

?
米拉小胖子

TA贡献6条经验 获得超0个赞

第一个调用普通函数, 后面3个调用模板函数


有普通函数的就调用普通函数, 没有的才会去调用模板函数

查看完整回答
反对 回复 2015-09-12
  • 1 回答
  • 0 关注
  • 961 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信