variable has initializer but incomplete type C++
<p>I am new to C++. I have this code to create a struct, to show the usage of <code>mutable</code> keyword in C++.</p>

<pre><code>#include &lt;iostream&gt;

using namespace std;

int main()
{
  struct
  {
    mutable double radius;
    double PI = 3.142;

    double getArea()
    {
      return (PI * radius * radius);
    }
  } circle;

  const struct circle c1 = {2.0};
  circle.radius = 7;

  cout &lt;&lt; "Area is " &lt;&lt; circle.getArea() &lt;&lt; endl;

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

<p>But I get the following error message when compiling:</p>

<pre><code>error: variable const main()::circle c1 has initializer but incomplete type
</code></pre>

<p>Error is at <code>c1</code> in the line <code>const struct circle c1 = {2.0};</code>. Can anyone point me out the error here.</p>