>>Plus, structs have different alignment rules. I seem to recall that classes' members may be even reordered
blinks
looks at his Vector3D class
looks at use of Vector3D for position (pos) member in a skeletal Joint class
sweats
looks at Joint::draw() function that has the line:
glVertex3fv ((float*)&jointarray[i].pos);
sweats
sweats sweats sweats sweats sweats sweats sweats sweats
Uh oh.
I just hope you're wrong. Right now nothing seems to get jumbled or switcharooed. I picked up that "trick" (if you can call it that... it's elementary pointer arithmetic) from studying source code in professionally-made open-source games and renderers (Quake 3, Blender, etc) made by people who know more about C++ than even I do (and I consider myself pretty damn good at C++). Maybe there's a compiler switch they use in their Makefiles that turns off that kind of auto-realigning...