title: How can I use a variadic template to define a type inside the class?
body: <p>I want to be able to typedef a type <em>f</em> inside a class to be an std::function that takes a number of parameters, the number and type of which depends on the template parameter of the class, like this:</p>
  
  <pre><code>#include &lt;functional&gt;
  
  template &lt;typename ... Args&gt;
  class SomeClass
  {
      typedef std::function&lt;void(Args)&gt; f;
  };
  </code></pre>
  
  <p>However, this does not work. g++ with -std=c++0x bails out with "error: parameter packs not expanded with ‘...’.</p>
  
  <p>I am trying to wrap my head around a bunch of new C++11 features, and it is quite possible that I am missing a very obvious solution. Any help would be appreciated.</p>