【发布时间】:2018-10-26 17:08:28
【问题描述】:
我正在使用一个模板函数和一个非模板函数。代码如下
#include <iostream>
using namespace std;
int maxOfTwo1(int a,int b)
{
return a>b?a:b;
}
template<class T>
T maxOfTwo(T a,T b)
{
return a>b?a:b;
}
int main()
{
cout<<maxOfTwo1(3,6.3);//works fine
cout<<maxOfTwo(3,6.3);//gives error
}
在第一个函数中,6.3 正在转换为 6,但谁能解释为什么它也不会在第二个函数中发生?第二个功能也一样,只是有模板。
【问题讨论】:
标签: c++ c++11 templates type-conversion type-deduction