No call to the copy constructor
<p>Consider the given code</p>

<pre><code>struct ABC
{
    ABC()
    {
        std::cout&lt;&lt;" Calling from default constructor";
    }

    ABC(const ABC &amp;copy)
    {
        std::cout&lt;&lt;"Calling from copy constructor";
    }
};

int main()
{
    ABC abc = ABC();
}
</code></pre>

<p>I have two questions</p>

<hr>

<p>Q1) Removing const from the copy constructor parameter declaration gives error. Why?</p>

<p>Q2) After adding the const keyword I dont see a call to the copy constructor. Why? The copy constructor does not get called so why is the const necessary?</p>

<hr>

<p>TIA</p>
