请教c++ primer3 里的一个错误
在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]吧?