function pointer and default argument

Ellery Newcomer ellery-newcomer at utulsa.edu
Wed Aug 22 12:15:24 PDT 2012


On 08/22/2012 12:03 PM, Ali Çehreli wrote:
> On 08/22/2012 11:51 AM, Ellery Newcomer wrote:
>  > hey.
>  >
>  > is this valid code?
>  >
>  > void func1(int i, double j = 1.0) {
>  > }
>  >
>  > void main() {
>  > auto fn = &func1;
>  > func1(1); //dmd: ok
>  > fn(1); // dmd: not ok
>  > }
>
> The type of the function pointer does not include the values of the
> default parameters.

typeof lies.

pragma(msg, typeof(fn));

 > void function(int i, double j = 1)



More information about the Digitalmars-d-learn mailing list