请教c++ primer3 里的一个错误

wswqwps 2007-05-24 03:15:45
在415页《模板实参推演》里面,中间部分举例的min3模板函数,是这么写的:

template<class T>
T min3(const T* array,int size)
{
T min_val = array[0];
for(int i = 1; i< size; ++i)
{
if(min_val > array[i])
min_val = array[i];

return min_val;
}

return min_val;
}

在下面调用的时候作者是
int ai[4] = {12,8,73,45};

int *pi = &ai;

int i = min3(pi,4);

请问上面的这个int *pi = &ai;我无法通过编译,
应该是int *pi = ai; 或者
int *pi = &ai[0]吧?
...全文
116 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wswqwps 2007-05-24
  • 打赏
  • 举报
回复
了解了,谢谢
wswqwps 2007-05-24
  • 打赏
  • 举报
回复
那个模板里面错了,去掉for里面的那句return.
lidongri 2007-05-24
  • 打赏
  • 举报
回复
用int *pi = &ai[0]比较好
  • 打赏
  • 举报
回复
嗯,是的.
wswqwps 2007-05-24
  • 打赏
  • 举报
回复
因为在勘误里没有找到这个地方的说明,所以上来请教一下。

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧