茂加部珈琲店

主にtech関連のメモ置き場です

デフォルトテンプレート引数を持つクラスのstaticメンバを初期化する

template <class T, class = int>
class Foo{
  static int i;
};

template <class T>
int Foo<T>::i = 42;

これは動きません。

template <class T, class = int>
class Foo{
  static int i;
};

template <class T, class E>
int Foo<T,E>::i = 42;

こうやって全部きっちり書く必要があるみたいです