对重载函数的调用不明确?
程序代码:
#include<iostream> using namespace std; template <typename T> T max(T b,T c) { return b>c?b:c; } int main() { int i1=185,i2=-76,i3=567,i; double d1=56.87,d2=90.23,d3=-3214.78,d; i=max(i2,i3); d=max(d2,d3); cout<<i<<' '<<d<<endl; system("pause"); }此处编译出现错误,提示为对重载函数的调用不明确.
而
程序代码:
#include<iostream> using namespace std; template <typename T> T max(T a,T b,T c) { return b>c?b:c; } int main() { int i1=185,i2=-76,i3=567,i; double d1=56.87,d2=90.23,d3=-3214.78,d; i=max(i1,i2,i3); d=max(d1,d2,d3); cout<<i<<' '<<d<<endl; system("pause"); }是编译通过的,不明白,求解