加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 模板功能出错

发布时间:2020-12-16 10:21:48 所属栏目:百科 来源:网络整理
导读:这段代码有什么问题? #include iostreamusing namespace std;template typename TT max(T X,T Y){ return (X Y) ? X : Y;}int main(){ int x = max(5,6);} 我收到此错误: overload.C: In function 'int main()':overload.C:19: error: call of overloaded
这段代码有什么问题?

#include <iostream>
using namespace std;

template <typename T>
T max(T X,T Y)
{
    return (X > Y) ? X : Y;
}

int main()
{
    int x = max(5,6);
}

我收到此错误:

overload.C: In function 'int main()':
overload.C:19: error: call of overloaded 'max(int,int)' is ambiguous
overload.C:12: note: candidates are: T max(T,T) [with T = int]
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2  /bits/stl_algobase.h:206: note:                 const _Tp& std::max(const _Tp&,const _Tp&) [with _Tp = int]

解决方法

max已在标准库中定义.删除使用命名空间std,它应该工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读