title: Passing std::forward as a default argument?
body: <p>Consider the following function that takes a function as argument.</p>
  
  <pre><code>template &lt;class Function = std::plus&lt;int&gt; &gt; 
  void apply(Function&amp;&amp; f = Function());
  </code></pre>
  
  <p>Here <code>std::plus&lt;int&gt;</code> is the default function that is applied. <code>std::plus&lt;int&gt;</code> is a function object and all works well.</p>
  
  <p>Now, I would like to pass <code>std::forward&lt;int&gt;</code> as the default argument. <code>std::forward&lt;int&gt;</code> is not a function object, this is a function pointer. How to do that ?</p>
  
  <pre><code>template &lt;class Function = /* SOMETHING */ &gt; 
  void apply(Function&amp;&amp; f = /* SOMETHING */);
  </code></pre>