What arguments must I pass to a function to perform an implicit construction of an object?
<p>My apologies if this is a dupe. I found a number of posts re. preventing implicit conversions, but nothing re. encouraging implicit constructions.</p>

<p>If I have:</p>

<pre><code>class Rect
{
public:
    Rect( float x1, float y1, float x2, float y2){};
};
</code></pre>

<p>and the free function:</p>

<pre><code>Rect Scale( const Rect &amp; );
</code></pre>

<p>why would</p>

<pre><code>Rect s = Scale( 137.0f, 68.0f, 235.0f, 156.0f );
</code></pre>

<p>not do an implicit construction of a <code>const Rect&amp;</code> and instead generate this compiler error</p>

<pre><code>'Scale' : function does not take 4 arguments
</code></pre>
