Static cast in a template
<p>I have a template with this static cast operator:</p>

<pre><code>operator Vector2&lt;float&gt;() const
{
    return Vector2&lt;float&gt;(x, y);
}
</code></pre>

<p>This implies to me that if I cast as a float, it will return a float variant of the class, even if <code>x</code> and <code>y</code> are integers from an integer variant. But apparently not so:</p>

<p>As a test:</p>

<pre><code>Vector2&lt;float&gt;position=static_cast&lt;float&gt;(Vector2&lt;int&gt;(5,5));
</code></pre>

<p>I get the compiler error for *No matching conversion for static_cast from Vector2 to float*.</p>

<p>Yet, the conversion is specified above, is it not, as a static cast overload?</p>
