why implicit conversion is harmful in C++
<p>I understand that the keyword explicit can be used to prevent implicit conversion. </p>

<p>For example</p>

<pre><code>Foo {

 public:
 explicit Foo(int i) {}
}
</code></pre>

<p>My question is, under what condition, implicit conversion should be prohibited? Why implicit conversion is harmful?</p>
