bearophile: > struct Vec(T=float, size_t N=3) { > static assert(N > 0); Sorry. Better to use: > struct Vec(T=float, int N=3) { > static assert(N > 0);