I have a template base class, whereby subclasses are expected to pass themselves as the template parameter.
It looks a little like this:
template<
You can simply add constexpr to the definition of LIFE:
constexpr
LIFE
constexpr Derived Derived::LIFE = Derived(42);
Until recently GCC had a bug where it rejected this; you'll need to use either Clang or GCC 4.9.