函数模板问题

sygdp21 2008-11-23 10:22:40
既有函数模板又包含同名普通函数,编译器是先从模板中还是先从普通函数中找?
...全文
97 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sygdp21 2008-11-23
  • 打赏
  • 举报
回复
谢谢各位了!
就呆在云上 2008-11-23
  • 打赏
  • 举报
回复
下面给了一个实例,就是一般会调用普通的模板
除非你显式的调用模板,强制性的使用加上<T>
#include <iostream> 

using namespace std;
template<class T>
void get(const T &a){
cout << "template invoke!\n";
}

void get(int a) {
cout << "Nomal function!\n";

}
int main() {
int a = 10;
get(a);//output : Nomal function!

//or u can invoke template explicit!
get<int>(a); //output : template invoke!
}
霍大脚 2008-11-23
  • 打赏
  • 举报
回复
可以认真参阅下C++ primer(4TH)第十六章的重载与函数模板里面也讲的很详细
霍大脚 2008-11-23
  • 打赏
  • 举报
回复

C++ primer plus(5TH)里说过,如果有多个原型,则编译器在选择原型是,非模板版本将优先于显示具体化和模板版本,而显示具体化将优先于模板版本生成的版本。
霍大脚 2008-11-23
  • 打赏
  • 举报
回复
优先从匹配的非模板函数里面找
bfhtian 2008-11-23
  • 打赏
  • 举报
回复
up
Non_Recursive 2008-11-23
  • 打赏
  • 举报
回复
普通函数
就呆在云上 2008-11-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 sygdp21 的帖子:]
既有函数模板又包含同名普通函数,编译器是先从模板中还是先从普通函数中找?
[/Quote]

普通函数先找,如果找到同名的,就不会再找模板了
nullah 2008-11-23
  • 打赏
  • 举报
回复
帅得不敢出门 2008-11-23
  • 打赏
  • 举报
回复
普通函数

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧