>>433
いいよ

template<bool A>
struct X
{
void f() {}
};

template<>
struct X<true>
{
void f();
};

とヘッダーに書いて

void X<true>::f(){}

を別のコンパイル単位に書くのはOK。
bool が typename でも同じ