class A { }; template class B { public: static int a[S]; B() { a[0] = 0; } }; template&l
You need to actually assign a value to it.
template<> int B::a[1] = {0};