需要指定模板函数参数的两种必要情况

1.当参数推演失败, 产生ambiguous,可以明白指定参数

min5<double>(dobj, fobj);

2.当编译器无法推演出返回类型时

template <class T1, class T2, class T3>

T1 sum(T2, T3);

指定参数时, 只有尾部的参数可以不写如:

sum<double>(fobj, dobj);//返回值类型T1是double, T2是float, T3是double

sum<double, ,double>(fobj, dobj);//错误, 只能省略后面的

posted @ 2011-07-30 15:48  lidan  阅读(344)  评论(0编辑  收藏  举报