using for class templates works like a charm
template<class T,int N> struct VecNT{ T arr[N]; }; using Vec5d = VecNT<double,5>; // doing great job! but it seems it does not work for functions at all
template<class T,int N> T sumNT(T* xs){ T sum=0; for(int i=0;i<N;i++){sum+=xs[i];}; return sum; }; using sum5d = sumNT<double,5>; // ERROR: sumNT<double,5> does not name a type using sum5d(double* xs) = sumNT<double,5>(T* xs); // ERROR: expected nest-name-specifier before 'sum5d' So how to make sum5d as an specialized/instantiated alias for sumNT<double,5> ?
auto sum5d = &sumNT<double,5>;? This should make a function pointer which can be used then like a function ID. (Ordouble (*sum5d)(double*) = &sumNT<double,5>;?)