How can you define a static data member of a class template?
Just define it in the header: template <typename T> struct S { static double something_relevant; }; template <typename T> double S<T>::something_relevant = 1.5; Since it is part of a template, as with all templates the compiler will make sure it’s only defined once.