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
A base class specifier that does not contain the keyword virtual specifies a non-virtual base class. A base class specifier that contains the keyword virtual specifies a virtual base class. For each distinct occurrence of a non-virtual base class in the class lattice of the most derived class, the most derived object ([intro.object]) shall contain a corresponding distinct base class subobject of that type. For each distinct base class that is specified virtual, the most derived object shall contain a single base class subobject of that type.
we phrase this rule with the help of class lattice, which means, that what number of non-virtual or virtual base class objects the most derived class object can contain depends on what the class lattice of the most derived class is. We lack a formal definition for how a class lattice of a class form. It could arguably say all rules that depend on the class lattice are all unclear. More details about claiming the definition of class lattice are in https://stackoverflow.com/questions/16886788/c11-class-lattice-with-mixed-virtual-and-non-virtual-bases, this issue has existed since the c++11 standard.
The text was updated successfully, but these errors were encountered:
[class.mi] p4 says
we phrase this rule with the help of class lattice, which means, that what number of non-virtual or virtual base class objects the most derived class object can contain depends on what the class lattice of the most derived class is. We lack a formal definition for how a class lattice of a class form. It could arguably say all rules that depend on the class lattice are all unclear. More details about claiming the definition of class lattice are in https://stackoverflow.com/questions/16886788/c11-class-lattice-with-mixed-virtual-and-non-virtual-bases, this issue has existed since the c++11 standard.
The text was updated successfully, but these errors were encountered: