title: No default arguments in constructor when using move constructor
body: <p>When I added a move constructor to my child class, I found I can't use default arguments for the constructor.  I've also tried using an overloaded constructor in <code>base_class</code> with zero arguments which calls the normal constructor with the arguments passed in manually but I'm having the same issue.</p>
  
  <p>The error message from Visual Studio is: <code>error C2512: 'child_class&lt;base_class&gt;': no appropriate default constructor available</code></p>
  
  <pre><code>class base_class {
  public:
      base_class(int param1=1) {}
  };
  
  template &lt;typename BaseType&gt;
  class child_class : public BaseType {
  public:
      using BaseType::BaseType;
      child_class(child_class&amp;&amp; move_in)
          : BaseType(std::move(move_in)) {}
  };
  
  int main(int argc, char** argv) {
      child_class&lt;base_class&gt; instance1; // MSVC says no default constructor so doesn't compile.
      child_class&lt;base_class&gt; instance2(123); // No problem
  }
  </code></pre>