error in VTT example
Alex Samuel
samuel at codesourcery.com
Thu Jun 29 18:11:11 UTC 2000
There is I believe an error in the VTT example presented in section
2.6.2.
The order of secondary virtual pointers is stated as inheritance graph
preorder. Primary non-virtual bases are omitted. Therefore I believe
the order of the secondary vptrs in the in example VTT should be V1,
C2, V2 (as opposed to C2, V2, V1 as shown in entries [5], [6], and
[7]). Though C1 is skipped because it's a primary base, the preorder
traversal has to continue to its children (or else in other
inheritance graphs some base classes will be missed completely).
Therefore you get to V1 via C1 before hitting C2.
It might make sense to clarify this in 2.6.2, item 3, with language
something like,
The order of the virtual pointers is inheritance graph preorder.
Though primary non-virtual bases do not get secondary virtual
pointers, they do not otherwise affect the ordering.
Regards
Alex Samuel
CodeSourcery LLC
More information about the cxx-abi-dev
mailing list