Is the address-of operator (&) really needed?
Sandeep Datta
datta.sandeep at gmail.com
Thu May 31 05:27:17 PDT 2012
>
> If we removed the requirement for the ampersand, along with
> requiring parentheses for non-property functions, code which
> expected to call the function without parentheses would
> silently compile, but not do what was intended.
Consider this...
float handleRequest() {
return 1.0f;
}
float x = handleRequest; //compilation error
or
auto x = handleRequest;
writefln("%f", x); //compilation error
I think we'd get a compile time error for most cases without
significant changes to the compiler. But the edge cases if any
can probably be detected at compile time with modifications to
the compiler.
Here is an edge case (for reference)...
writefln(x);// will now print the address of the function
More information about the Digitalmars-d
mailing list