Get address of overloaded function

Jarrett Billingsley kb3ctd2 at yahoo.com
Sat Feb 24 08:40:19 PST 2007


"Frank Benoit (keinfarbton)" <benoit at tionex.removethispart.de> wrote in 
message news:erpk4o$1oom$1 at digitalmars.com...
>I want to assign a function ptr to a void* variable.
>
> There are no compile error in case the function is a overloaded one. Is
> this a bug?
>
> How to select the correct function? I tried a cast, and it seams to work.
>
> void fnc(){}
> void fnc(int a ){}
>
> void * ptr = cast(void*)cast( void function( int )) & fnc;

Yes, that does seem to choose the (int) overload.  Although what's really 
odd is that getting the address of fnc without any cast before it gets the 
address of the overload that was defined first.  Personally I think it 
should be an error, as it's ambiguous.. 





More information about the Digitalmars-d mailing list