配列の要素が静的に初期化できる構文といえば

double a[3] = {1.0 ,2.0 ,3.0};

だが。テンプレートから生成できるとは思えんしなー。
まさか、

template<class T, int N>
struct A
{
T d = T(N)/*constant expression of N*/;
A<T, N-1> succ;
};

template<class T>
struct A<T,1>
{
T d = T(1)/* constant expression */;
};

template<class T, int N>
const T* getArray(const Struct<T,N> s)
{
return((T*)(&s))
}

なんてこたないよな。
仮想メンバ関数もなく継承とかもしてないstructはCの構造体と互換だが……。
移植性あるか?(alignment調整のpackingとか。)