constexpr の間違った使い方。
例えば下記の様な書き方。
[コード]
template<typename T> struct X{ //error: constexpr static data member 'value' must have an initializer static constexpr T value; }; template<typename T> constexpr T X<T>::value = {};
constexpr が使えるとうっかり上記のような書き方をしたくなるんですが、残念ながらこれはコンパイルエラーになります。
constexpr を使いこなすにはどこに constexpr を付けるべきなのかしっかりと見極める必要がありますね。
ちなみに Boost.TypeErasure でも同様の書き方がされていてコンパイルエラーになっていました。