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