On Saturday, 2 January 2016 at 02:12:19 UTC, Shriramana Sharma
wrote:
If I have:
struct TimeSpan { double start, end; }
Then both the following automatically work:
auto s = TimeSpan();
auto t = TimeSpan(1, 2);
But if I make it a class (I need to) then I have to explicitly
define a
On Saturday, 2 January 2016 at 14:57:58 UTC, Shriramana Sharma
wrote:
John Colvin wrote:
Strictly speaking you aren't calling a constructor there,
you're writing a struct literal.
Why do you say I'm not calling a constructor?
https://dlang.org/spec/struct.html#struct-literal
And that
John Colvin wrote:
> Strictly speaking you aren't calling a constructor there, you're
> writing a struct literal.
Why do you say I'm not calling a constructor?
And that still doesn't answer the question of why can't we have an automatic
field-wise constructor for classes...
--
Shriramana
On Saturday, 2 January 2016 at 14:57:58 UTC, Shriramana Sharma
wrote:
John Colvin wrote:
Strictly speaking you aren't calling a constructor there,
you're writing a struct literal.
Why do you say I'm not calling a constructor?
A class constructor is written as:
auto s = *new* Timespan(1,
If I have:
struct TimeSpan { double start, end; }
Then both the following automatically work:
auto s = TimeSpan();
auto t = TimeSpan(1, 2);
But if I make it a class (I need to) then I have to explicitly define a
field-wise constructor else only a constructor with no args is automatically