You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I think subobjects do not contain names, but base classes do.
[class.virtual]/2 also says "(base) class (sub)object" when it should say "(base) class":
A virtual member function C::vf of a class objectS is a final overrider unless the most derived class (6.7.2) of which S is a base class subobject (if any) declares or inherits another member function that overrides vf. In a derived class, if a virtual member function of a base class subobject has more than one final overrider the program is ill-formed.
I believe such fix would be consistent with the wording in [class.derived]:
A class B is a base class of a class D if it is a direct base class of D or a direct base class of one of D’s base classes.
The text was updated successfully, but these errors were encountered:
That, or else explicitly state that "base class subobject" has a meaning as a component of a class as well as as a component of an object. This isn't entirely unreasonable: after all, a complete object of type X has exactly one of the object-kind for each of the class-kind that X itself has, and it parallels "class member"/"member subobject".
I think subobjects do not contain names, but base classes do.
[class.virtual]/2 also says "(base) class (sub)object" when it should say "(base) class":
I believe such fix would be consistent with the wording in [class.derived]:
The text was updated successfully, but these errors were encountered: