Why const object must have a user-provided constructor?
<blockquote>
  <p><strong>Possible Duplicate:</strong><br>
  <a href="http://stackoverflow.com/questions/4674332/declaring-a-const-instance-of-a-class">declaring a const instance of a class</a><br>
  <a href="http://stackoverflow.com/questions/7411515/why-does-c-require-a-user-provided-default-constructor-to-default-construct-a">Why does C++ require a user-provided default constructor to default-construct a const object?</a>  </p>
</blockquote>



<p>My program like this:</p>

<pre><code>class c
{
};

int main()
{
    const c a;

    return 0;
}
</code></pre>

<p>when I compile it using g++, it prompt:</p>

<pre><code>main.cpp:10:7: note: ‘const class c’ has no user-provided default constructor
</code></pre>

<p>Why, this is just an empty class and do not do anything, why I have to provide a user-provided constructor.</p>
