On Monday, 16 June 2014 at 22:03:28 UTC, Mark Blume wrote:
Why exactly isn't a constructor without any parameters is not allowed?
Why does
"Struct()" calls "Struct.opCall()," which means "Struct.init" initially,
while
"Struct(params)" calls "Struct.this(params)?"

Does "Struct(params)" also call "Struct.opCall(params)?"

I am new to D and I can't seem to understand this.

http://stackoverflow.com/questions/16648273/why-can-i-not-implement-default-constructors-for-structs-in-d/16650477#16650477

Right now I think this decision was not worth it and at least CTFE-only constructors should be allowed. But this is not a simple thing to change.

Fun fact : originally in D1 days (long time ago in a galaxy far away) constructors were not allowed for structs at all. Good it has been changed :)

Reply via email to