title: Inheriting constructors
body: <p>Why does this code:</p>
  
  <pre><code>class A
  {
      public: 
          explicit A(int x) {}
  };
  
  class B: public A
  {
  };
  
  int main(void)
  {
      B *b = new B(5);
      delete b;
  }
  </code></pre>
  
  <p>Result in these errors:</p>
  
  <pre>
  main.cpp: In function ‘int main()’:
  main.cpp:13: error: no matching function for call to ‘B::B(int)’
  main.cpp:8: note: candidates are: B::B()
  main.cpp:8: note:                 B::B(const B&)
  </pre>
  
  <p>Shouldn't B inherit A's constructor?</p>
  
  <p>(this is using gcc)</p>