template constexpr T my_pi = T(3.1415926535897932385L); // variable template template <> constexpr char my_pi = '3'; // variable template specialization template struct Wrapper { template static constexpr U my_const = U(1); // Variable template partial specialization with member variable. template static constexpr U *my_const = (U *)(0); }; constexpr char a[] = "hello"; template <> template <> constexpr const char *Wrapper::my_const = a;