まあ、同じことだが、

void func (int buf, int size) {
for (int i = 0; i < size; ++i) {
std::cout << buf[i] << std::endl;
}
}

template <int size>
void func(int (&buf)[size]){
func(buf, size);
}