title: Variadic template, function as argument
body: <p>I would like to use a function as argument in a variadic template, why does the following not work? How do I make it work?</p>
  
  <pre><code>template&lt;typename F, typename... Args&gt;
  F test(F f, const Args&amp;&amp;... args) {
  return f(std::forward&lt;Args&gt;(args)...);
  }
  
  int simple(int i) { 
      return i; 
  }
  
  
  int main()
  {
      std::cout &lt;&lt; test(simple, 2); // error, 'std::forward': none of the 2 overloads could convert all the argument types
  }
  </code></pre>