Is there any way to take the address of any of an overloaded set of functions? import std.stdio; void foo(int a){ writeln("overload int"); } void foo(long b){ writeln("overload long"); } void main() { auto b = &foo; //ambiguous => error b(2); //valid for either overload }