invalid offsetof from non-POD type

Zack Weinberg zack@codesourcery.com
Tue Apr 22 02:58:00 GMT 2003


Gabriel Dos Reis <gdr@integrable-solutions.net> writes:

> John Quigley <johnw@lowestplane.org> writes:
>
> | While it is not standards compliant code, gcc still provides the correct 
> | result. 
>
> The key issue is what do you define to be the "correct" result when you
> apply offsetof() to a non-POD?  

I have never really understood why the C++ standard imposes this
restriction.  There would seem to be a well-defined answer to the
question posed by offsetof(non-POD, data-member), since the data
member does exist in memory at a well-defined offset from the
beginning of the object.  If that weren't true the compiler wouldn't
be able to generate accesses to it.

zw



More information about the Gcc-bugs mailing list