をテンプレートが正常に動作コードです:私たちは、カウントクラステンプレートを専門に部分的に必要とする理由可変個引数は、ここで謎
template<typename... Args> struct count;
template<>
struct count<> {
static const int value = 0;
};
template<typename T, typename... Args>
struct count<T, Args...> {
static const int value = 1 + count<Args...>::value;
};
今私は思っていましたか?
は、我々のような何かを行うことができます:
template< typename... args> struct dd; // edited according to answer but now getting error redeclared with 2 template parameters which is point below with mark %%
template<>
struct dd<>{
static const int value = 0;
};
template<typename T, typename... args> //%%
struct dd{
static const int value= 1+ dd<args...>::value;
};
をしかし、これは動作しますが、なぜしないのですか?
すべてのヘルプは非常に高く評価され:)
編集は:答えに応じたソリューションを編集しました。
注意として実装することができを取得するための組み込みの方法がありますカウントを取得する。 –