https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82821
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- It's not the constructor that is inaccessible, it's the name MyString which name lookup finds via an inaccessible base class. If you say ::MyString it will be found in the global namespace and work fine.