[C++/66443] deleted ctor and vbase construction

Jason Merrill jason@redhat.com
Wed Oct 5 23:50:00 GMT 2016


On Fri, Sep 30, 2016 at 1:39 PM, Nathan Sidwell <nathan@acm.org> wrote:
> PR 66443 concerns C++14 DR1611. It is now permitted to use the base-ctor of
> an abstract class whos complete ctor is deleted because of a virtual base
> issue. Specifically, given
>
> class A {
>   A (int);
>   // no default ctor in C++14
> };
>
> class B : virtual A {
>  virtual void Foo () = 0; // abstract
>  // B::B deleted because there's no A::A()

But DR 1658 says that B::B is *not* deleted (because A is not a
potentially constructed subobject).  Implementing that might be
simpler than trying to have a deleted complete and non-deleted base
constructor variant.

Jason



More information about the Gcc-patches mailing list