Assigning to array of structs with custom constructor

Stanislav Blinov stanislav.blinov at gmail.com
Mon Apr 25 15:13:51 UTC 2022


On Monday, 25 April 2022 at 14:36:25 UTC, cc wrote:
> ```d
> struct Foo {
> 	string s;
> 	this(string s) { this.s = s; }
> }
> Foo foo = "a";
> Foo[] foos = ["a"]; // Error: cannot implicitly convert 
> expression `["a"]` of type `string[]` to `Foo[]`
> Foo[] foos = cast(Foo[]) ["a"]; // Error: e2ir: cannot cast 
> `"a"` of type `string` to type `Foo`
> ```
>
> Was there a way to do this?  I thought I recalled seeing 
> something like this before, but I can't seem to find it.

Make it explicit:

```d
Foo[] foos = [Foo("a")];
```


More information about the Digitalmars-d-learn mailing list