现有如下程序: template <class T> T fun(T a,T b) { return a+b; } #include<math.h> #include<iostream.h> void main() { cout<<fun(2.5,1); } 运行后,出现下列错误提示, :\Documents and Settings\renlin\work1.cpp(8) : error C2782: 'T __cdecl fun(T,T)' : template parameter 'T' is ambiguous could be 'int' or 'double' 执行 cl.exe 时出错.
work1.exe - 1 error(s), 0 warning(s) 请问,该如果改正程序。 我把数据强制类型转换后,程序如下所示: template <class T> double fun(T a,T b) { return double(a)+double(b); } #include<math.h> #include<iostream.h> void main() { cout<<fun(2.5,1); } 运行后,还是出现上面的错误提示。 请问错在哪里了,改怎么改?