On Monday, 4 August 2025 at 20:02:48 UTC, Brother Bill wrote:
I feel like I am going into the hornet's nest with this
discussion.
I have created a struct with some members, and want to have a
parameterless constructor that sets the member values at run
time.
I have seen things like @disable this(); and static opCall(),
but don't quite understand them.
How does one do this, and what are the ramifications of doing
so?
Or should one just leave the parameterless constructor as is?
I'm not 100% sure why parameterless constructors are banned on
structs, but you can work around it by making a static method:
```
struct Foo {
int a;
float b;
static Foo make() {
// make "default" version of struct
return Foo(1, 2.0);
}
}
void main() {
Foo f = Foo.make();
}
```