function argument 'shorthand'

Walter Bright newshound at digitalmars.com
Mon May 22 19:30:45 PDT 2006


Dave wrote:
> Couldn't find this in the archive, so I don't know if it's been discussed
> before.
> 
> One of the things I like about Pascal is that you can specify function arguments
> of the same type w/o repeating the type. So, in D we could:
> 
> int foo(int x, y, z) // y and z are type int
> {}
> 
> int bar(int x = 1, y = 2, z = 3) // y and z are type int
> {}
> 
> void baz(int x, y, double d, f = 3.14159)  // y is an int, f is a double
> {}
> 
> Thoughts?

It has grammatical ambiguities. Consider:

int foo(int x, y);

Is the second a declaration of y of type int, or is it a parameter of 
type y?



More information about the Digitalmars-d mailing list