一个template的疑问(C++ primer第4版P633),该怎么处理

一个template的疑问(C++ primer第4版P633)
the function itself takes a single parameter, which is a reference to an array.

template<class T, size_t N> void array_init(T (&parm)[N])
{
  for(size_t i=0;i!=N;++i)
  parm[i]=0;
}

void array_init(T (&parm)[N]);
帮忙解释下这个参数吧。。。 为什么要用& ?不可以直接用数组名?

------解决方案--------------------
引用数组
如果不用&,那就变成了拷贝地址
------解决方案--------------------
不用“&”也可以。