https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63526
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> --- The text you quote describes how f is initialized, it does not apply to f._foo. You provided a default constructor, so the compiler uses that and assumes that you wrote it correctly to do what you want. If you want Foo's members to be initialized then fix your constructor.