struct initializer
Dom DiSc
dominikus at scherkl.de
Wed Nov 29 16:38:36 UTC 2023
```d
struct S { int a; int b; }
S s = { 5, 2 }; // works fine
S fun() { return { 5, 2 }; } // doesn't work :-(
S fun2() { S s = { 5, 2 }; return s; } // works but is ugly
struct S2 { int a; int b; this(int c, int d) { a=c; b=d; } }
S2 fun3() { return S2( 5, 2 ); } // works but requires explicit
constructor
```
Is there a reason why the short form is not possible?
It's clearly an initialization of a new instance of a struct, and
the requested type is unambigous (the return type of the
function).
More information about the Digitalmars-d-learn
mailing list