parsing parameters

Robert Fraser fraserofthenight at gmail.com
Mon Feb 23 15:41:47 PST 2009


BCS wrote:
> Reply to Ellery,
> 
>> BCS wrote:
>>
>>> I don't understand your question. Are you suggesting that something
>>> be added or asking why something is allowed?
>>>
>> Why is it allowed?
>>
>> for example:
>>
>> int myfun(int=10);
>>
> 
> Theory 1: it's a side effect of two features:
> 
> this is allowed
> 
> int myFunc(int)  // I never use the arg so why name it?
> {
> }
> 
> and this is allowed
> 
> int myFunc(int i = 5)  // normal defaulting
> {
> }
> 
> so to avoid corner cases they are allowed in combination
> 
> theory 2:
> 
> it gives a function (with an anon arg, see above) that can be called 
> like this:
> 
> myfun(5);
> 
> and like this:
> 
> myfun();

To elaborate, this would be useful for extern functions, i.e.

extern(C) int myFunc(int = 5);
myFunc();  // Calls myFunc(5);
myFunc(6);


More information about the Digitalmars-d-learn mailing list