title: Can't C++ POD type have any constructor?
body: <p>I have a class and a const variable.</p>
  
  <pre><code>struct A 
  {
      int b;
  };
  
  A const a;
  </code></pre>
  
  <p>The class <code>A</code> is POD and can be initialized like this.</p>
  
  <pre><code>A const a = { 3 };
  </code></pre>
  
  <p>IMHO, it looks fine to have a constructor like this.</p>
  
  <pre><code>struct A 
  {
      int b;
  
      A(int newB) : b(newB)
      {
      }
  };
  </code></pre>
  
  <p>But Clang assumes <code>A</code> as non-aggregate type. Why I can't have constructor like that? Or should I do something else?</p>
  
  <hr>
  
  <p>I modified question to present my original meaning. I had wrote the <code>struct</code> as <code>class</code> by mistake, and sorry for @Johannes about confusing :)</p>