Вы не можете объявить сам шаблон внутри параметров функции.Шаблон должен находиться перед функцией, и тогда вы можете использовать параметры шаблона внутри функции по мере необходимости, например:
#include <iostream>
#include <array>
template <class T, size_t N>
int returnSize(const std::array<T, N> &arr)
{
return arr.size();
// or: return N;
}
int main()
{
std::array<int,5> z;
std::cout << returnSize(z) << std::endl; // <-- calls returnSize<int,5>(z) ...
}
Выход:
5
Демонстрация в реальном времени