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