Передать в функцию массив любого типа невозможно?

 

Собственно вопрос в заголовке: можно ли как-то объявить входным параметром пользовательской функции массив любого типа, как это сделано например в системной функции ArrayResize:

int  ArrayResize(
   void&  array[],              // массив, переданный по ссылке
   int    new_size,             // новый размер массива
   int    reserve_size=0        // резервное значение размера (избыточное)
   );
 
С помощью шаблонов.
 
Большое спасибо, как раз то самое.