http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55120



             Bug #: 55120

           Summary: Inaccessible virtual base constructor does not prevent

                    generation of default constructor

    Classification: Unclassified

           Product: gcc

           Version: 4.7.0

            Status: UNCONFIRMED

          Severity: normal

          Priority: P3

         Component: c++

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: ndkrem...@gmail.com





The following code should fail to compile but does not:



struct V {};

struct B : private virtual V {};

struct D : B {};



int main() {

    D d;

}



According to N3376 section 12.1 paragraph 5, the defaulted default constructor

for D should be defined as deleted, as the default constructor for the virtual

base V is inaccessible from D.

Reply via email to