blldw 2007年09月17日
一个求n个数的最大值的模板函数,对于float何double,运行结果不同,大家看下~~~
模板代码如下:
template <class T> T maxn(int num, T first, ...)
{
int i = 1;
T tmax = first;
va_list ap;
va_start(ap, first);
while (i++ < num)
{
T tmp = va_arg(ap, T);
if (tmp > tmax)
tmax = tmp;
}
va_end(ap);

return tmax;
}

程序运行结果显示:
maxn(4, 1.23f, 3.21f, 6.22f, 4.33f) = 2.15125;
maxn(4, 1.23, 3.21, 6.22, 4.33) = 6.22;
请问为什么对于第一个maxn(4, 1.23f, 3.21f, 6.22f, 4.33f)结果为什么不是6.22.
谢谢~~~
...全文
257 点赞 收藏 9
写回复
9 条回复

还没有回复,快来抢沙发~

发动态
发帖子
C++ 语言
创建于2007-09-28

3.1w+

社区成员

24.8w+

社区内容

C++ 语言相关问题讨论,技术干货分享
社区公告
暂无公告