Определение для статического элемента данных или шаблона статического элемента данных может быть предоставлено в области пространства имен, включающей определение шаблона класса статического члена. [ Example:
template<class T> class X { static T s; }; template<class T> T X<T>::s = 0; struct limits { template<class T> static const T min; // declaration }; template<class T> const T limits::min = { }; // definition
— end example ]
Явная специализация статического члена данных, объявленного как массив с неизвестной связью, может иметь границу, отличную от ее определения, если таковая имеется. [ Example:
template <class T> struct A { static int i[]; }; template <class T> int A<T>::i[4]; // 4 elements template <> int A<int>::i[] = { 1 }; // OK: 1 element
— end example ]