error in VTT example

Jim Dehnert dehnert at baalbek.engr.sgi.com
Wed Jul 5 08:09:31 UTC 2000


> Date: Thu, 29 Jun 2000 11:11:11 -0700 (PDT)
> From: Alex Samuel <samuel at codesourcery.com>
> 
> 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.

This is fixed.

Jim

-	    Jim Dehnert		dehnert at sgi.com
				(650)933-4272




More information about the cxx-abi-dev mailing list