私は可変テンプレートクラスを持っていると言います。引数が設定された型の関数、たとえばint
を作成し、引数の数がテンプレートの型の数と等しいようにするにはどうすればよいですか?すべてのテンプレートタイプに対して、セットタイプの引数
template <typename... Types>
class Test
{
public:
void Func(???); // I don't know how to declare such a function
}
Test<string, bool, long> myTest; // Three types
myTest.Func(905, 36, 123315); // Three arguments, but always of type int.
最後に、この関数の目的は、提供されたintのタプルを返すことです。わかりやすくするために、サンプルコードでは関数を無効にしました。
[これ](http://stackoverflow.com/questions/3703658/specifying-one-type-for-all-arguments-passed-to-variadic-function-or-variadic -te)と 'sizeof ...'チェックを追加していますか? – LogicStuff
このように? http://ideone.com/PASclP –
パラメータパックのサイズは呼び出しによって推測できるので、ここで 'Types'は必要ありません:http://ideone.com/tPe6Tj –