title: C++11 Base constructor delegating/forwarding to derived class with "using" keyword
body: <pre><code>struct B {
    B () {}
    B(int i) {}
  };
  
  struct D : B {
    using B::B;  // &lt;--- new C++11 feature
  };
  
  D d1; // ok
  D d2(3); // ok
  </code></pre>
  
  <p>Now, if I add a new constructor  inside the body of <code>struct D</code>, such as:</p>
  
  <pre><code>struct D : B {
    using B::B;
    D(const char* pc) {}  // &lt;--- added
  };
  </code></pre>
  
  <p>then <code>D d1;</code> starts giving compiler error(<a href="http://ideone.com/JCUPka" rel="nofollow">ideone</a> is not upgraded yet, I am using g++ 4.8.0)? However <code>D d2(3);</code> still works.</p>
  
  <p>Why the default constructor is discounted when adding a new constructor inside <code>struct D</code>?</p>