Check out example codes for "variadic templates". It will help you in understanding the concepts better.

Code Example 1

template<class... Args>
void Foo(Agrs*... arguments);

template<class... Args>
class A;

/* Variadic templates can be used to allow a multitude of variations
of a class or function to be compiled without having to explicitly
state what the required amount of template parameters are.

In order to use the parameter pack you need to unpack it. This can be
done through C++17 fold expressions or using recursion:*/

template<typename Arg>
void Foo(Arg* arg)
{
  // do something.
}

template<typename Arg, typename... Args>
void Foo(Arg* arg, Args*... args)
{
  Foo(arg);
  Foo(args);
}

Learn ReactJs, React Native from akashmittal.com