Having:
struct Value { template static constexpr T value{0}; };
(0) ideone
te
I've had some headaches before when creating template class header files in c++.
Make sure you implementation of static constexpr T value{0}; is in the same header file as the declaration.
static constexpr T value{0};