Immanuel Litzroth <[EMAIL PROTECTED]> wrote: > The problem seems to be that recent gcc's dont compile the second do_call > because they interpret 0 as being of type int.
Bad, bad GCC, how can it believe that the literal "0" is of type int! ;) Jokes aside, previous GCC versions were buggy in this regard, and they were allowing a conversion of "0" to pointer type. This is not allowed by the ISO/ANSI C++ standard and has been fixed in later versions. Your code is ill-formed. If you are not convinced, please bring this issue to a C++ discussion area, like comp.std.c++ or comp.lang.c++.moderated, thanks. -- Giovanni Bajo