On 07/03/13 17:27, H. S. Teoh wrote: > On Wed, Jul 03, 2013 at 05:15:48PM +0200, John Colvin wrote: >> On Wednesday, 3 July 2013 at 15:03:46 UTC, Artur Skawina wrote: >>> On 07/03/13 16:52, John Colvin wrote: >>>> 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 >>>> } >>> >>> void function(long) b = &foo; >>> >>> artur >> >> Thanks, that works > > This is interesting. How does C++ handle this? (Or does it?)
The same - the context determines which overload is chosen, and ambiguity is an error. artur