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;