2
template<typename T1, typename T2>
からtemplate<typename T1, int i>
までのクラスの特殊化がサポートされないのはなぜですか?例えばテンプレート<typename T1、typename T2>からテンプレート<typename T1、int i>へのクラス特殊化がサポートされない理由
:
template<typename T1, typename T2>
struct B{};
template<typename T1>
struct B<T1, T1>{}; //ok
template<typename T1>
struct B<T1, int>{}; //ok
template<typename T1,int i>
struct B<T1,i>{}; //error: expected a type, got 'i'
template<typename T1,constexpr int i>
struct B<T1,i>{}; //error: expected a type, got 'i'
ないことを専門化... – Brian
'i'は型ではないので? –
ユーティリティがほとんどなく、複雑さが増すためです。 –