"Explicit" preventing automatic type conversion?
<blockquote>
  <p><strong>Possible Duplicate:</strong><br>
  <a href="http://stackoverflow.com/questions/121162/what-does-the-explicit-keyword-in-c-mean">What does the explicit keyword in C++ mean?</a>  </p>
</blockquote>



<p>I do not understand the following. If I have:</p>

<pre><code>class Stack{
    explicit Stack(int size);
}
</code></pre>

<p>without the keyword <code>explicit</code> I would be allowed to do:</p>

<pre><code>Stack s;
s = 40;
</code></pre>

<p>Why would I be allowed to do the above if explicit wasn't provided?? Is it because this is stack-allocation (no constructor) and C++ allows anything to be assigned to the variable unless <code>explicit</code> is used?</p>
