www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - parsing parameters

reply Ellery Newcomer <ellery-newcomer utulsa.edu> writes:
is there any reason to allow

BasicType AnonymousDeclarator = AssignExpression

as a parameter? As far as I know, it's gibberish (but, then, I don't 
know very far).
Feb 22 2009
parent reply BCS <ao pathlink.com> writes:
I don't understand your question. Are you suggesting that something be added 
or asking why something is allowed?
Feb 23 2009
parent reply Ellery Newcomer <ellery-newcomer utulsa.edu> writes:
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);
Feb 23 2009
parent reply BCS <ao pathlink.com> writes:
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();
Feb 23 2009
parent reply Robert Fraser <fraserofthenight gmail.com> writes:
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);
Feb 23 2009
parent BCS <none anon.com> writes:
Hello Robert,

 BCS wrote:
 
 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);
Ah, and yet another use. I think that is an even better theory than either of mine.
Feb 23 2009