On Sat, Feb 16, 2013 at 9:38 PM, erik quanstrom <quans...@quanstro.net>wrote:
> i don't think this should link, since wrongaddr calls > fn with an Outer* not an Inner*. > ... Normally in more mainstream C the nested "static void fn(Outer*);" declaration would produce a diagnostic and instead what it (the compiler and the code) seems to be doing is setting up allowing the call to compile and once that is satisfied then the subsequent definition "has" to match it, as perhaps a way to do type punning. -- Greg Comeau / 4.3.10.1 with C++0xisms now in beta! Comeau C/C++ ONLINE ==> http://www.comeaucomputing.com/tryitout World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90. Comeau C/C++ with Dinkumware's Libraries... Have you tried it?