On Mon, 28 Feb 2011 14:56:15 -0500, Adam Ruppe <[email protected]>
wrote:
But then you're back to square one
Obviously, you'd do:
Size size;
size.width = 10;
size.height = 20;
Instead of Size(10, 20).
I could also do:
int width = 10, height = 20;
foo(width, height);
The struct solution helps prevent incorrect ordering. But other than
that, it still looks more verbose than should be necessary.
Another alternative is to give each element their own struct...
struct Width { int width; alias width this; }
foo(Width(10), Height(20));
This seems like extreme overkill. I don't want to have to create a new
struct for every parameter that I want to pass in a named fashion.
Why can't we just pass integers where integers make sense, and give them
names that only exist at compile time? I don't see the harm in the
proposal. Certainly every counter proposal I've seen to be able to
"accomplish the same thing" with today's compiler is worse than just
passing two ints.
-Steve