static_cast in default argument value
<p>I would like to have a constructor with default argument static_cast like: </p>

<pre><code>generate_word_spot(func_double_double_t&amp; cost_f = static_cast&lt;func_double_double_t&amp;&gt;(func_const_t(1))) :
      cost_f_(cost_f)
      {};
</code></pre>

<p>where </p>

<pre><code>class func_const_t : public func_double_double_t 
{ 
   ...
   virtual double operator()(double x){ ... }; 
}
</code></pre>

<p>and <code>func_double_double_t</code> is the base class for many function objects similar to this. </p>

<p>GCC says "invalid <code>static_cast</code>" for the above constructor. Is there a way to achieve such a behavior?</p>
