| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1340 人关注过本帖
标题:c++函数模板重载问题(DEVC++编译器)
只看楼主 加入收藏
x1296919830
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-6-8
收藏
 问题点数:0 回复次数:1 
c++函数模板重载问题(DEVC++编译器)
[#include<iostream>
using namespace std;
int max(const int& a, const int& b)
{
    return a>b ? a : b;
}
template<typename T>
T max( constT& t1,  constT& t2)
{
    return t1 > t2 ? t1 : t2;
}
template<typename T>
T max(const T& t1, const T& t2, const T& t3)
{
    return max(max(t1,t2),t3);
}
int main()
{
    cout << max(1,2) << endl;
    cout << max(1,'3')<< endl;
    cout << max('k','e')<< endl;
//    cout << max('w','5','A')<< endl;
    return 0;
}

为什么要去掉这两个const
搜索更多相关主题的帖子: return 编译器 include 
2017-06-09 11:39
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
为什么要去掉这两个const
不知所云
说话要说清楚,比如“为什么要去掉这两个const才能编译成功?”,并贴上之前的编译器错误信息。

你这代码有几个错误
第一,很显然,constT 是什么?
第二,改掉上述错误,编译报 max('k','e') 不知道该调用 std::max,还是你写的那个 ::max
2017-06-09 15:38
快速回复:c++函数模板重载问题(DEVC++编译器)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021688 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved