title: variable has initializer but incomplete type C++
body: <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>