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,它应该工作.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |