title: Illegal Member initialization
body: <p>I am using this pretty simple class without using any inheritance.</p>
  
  <pre><code>class A
  {
    int a;
    int b;
  
  public:
   A(int x, int y) { a = x; b = y;}
   A() :A(0,0){};
   ~A(){};
  } ;
  
  int main ()
  {
    A a1, a2(5, 7) ;
  }
  </code></pre>
  
  <p>I get this error.</p>
  
  <blockquote>
    <p>error C2614: 'A' : illegal member initialization: 'A' is not a base or member</p>
  </blockquote>
  
  <p>There are similar questions on SO but they relate to inheritance. Can someone explain the reason and what does standard say about that?</p>
  
  <p><strong>EDIT:</strong></p>
  
  <p>It would be better if someone elaborate more on the forwarding constructor and this feature in C++11.</p>