title: C++ parameter pack expansion
body: <p>The code below doesn't compile (see error below the code). Can you please explain why?</p>
  
  <pre><code>template &lt;class F, class... Arg&gt;
  void for_each_argument(F f, Arg&amp;&amp;... arg)
  {
     f(std::forward&lt;Arg&gt;(arg...));
  }
  int main()
  {
     for_each_argument(
       [](const auto&amp; a){std::cout&lt;&lt; a;}, "Aa", 3, 4);
     return 0;
  }
  </code></pre>
  
  <p>Here is an error message:</p>
  
  <blockquote>
    <p>7:4: error: expression contains unexpanded parameter pack
    'Arg'</p>
    
    <p>f(std::forward(arg...));</p>
  </blockquote>