title: Why is inheriting constructors not supported by ALL of the existing C++ compilers?
body: <p>For now, both of G++ and VC++ 2010 don't support inheriting constructors.</p>
  
  <p>However, I think this is one the most beautiful features in C++0x. And I think it should be rather easy to implement by the compiler.</p>
  
  <p>Why are the compilers not interested of this feature?</p>
  
  <p>Assume I want to design my own string class by inheriting std::string like this:</p>
  
  <pre><code>class MyString : public std::string
  {
  public:
  // I have to redefine many overloaded ctors here and forward their arguments to 
  // std::string's ctors. How tedious it will be!!!
  };
  </code></pre>
  
  <p>A beautiful code example:</p>
  
  <pre><code>struct B1 
  {
     B1(char);
  };
  
  struct B2 
  {
     B2(double);
     B2(int);
  };
  
  struct D1 : B1, B2 
  {
     using B1::B1; //  D1(char)
     using B2::B2;  // D1(double), D1(int)
  };
  
  D1 d('c'); //OK, invokes D1(char)
  </code></pre>