关于模板的问题,还请大家多多指点!

dave_mfc 2002-03-20 10:16:48
/*请问main()中的min(2, 1)函数是调用min模板,还是min()函数!为什么?可否帮小弟详细的解说一下?!多谢了!
*/


#include <iostream>

using namespace std;

template <typename t>
t min(t a, t b)
{
return (a>b) ? 1 : 0;
}

int min(int a, int b)
{
return (a>b) ? 1 : 0;
}

void main()
{
cout << min(2, 1) << endl;
}
...全文
82 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Cauty45 2002-03-20
  • 打赏
  • 举报
回复
优先调用非模板.

template <typename t>
t min(t a, t b)
{
cout<<"template\n";
return (a>b) ? 1 : 0;
}

int min(int a, int b)
{
cout<<"min\n";
return (a>b) ? 1 : 0;
}

void main()
{
min(2, 1);
}
用上例测试一下,即可
babysloth 2002-03-20
  • 打赏
  • 举报
回复
函数函数的决议顺序是,最精确的优先,先重载后特化。
您这里当然先是重载^_^
stavck 2002-03-20
  • 打赏
  • 举报
回复
你跟本没有调用模板!
有那么调用模板的吗?
fixopen 2002-03-20
  • 打赏
  • 举报
回复
编译以后,模板就没了

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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