How to define property type to Array!struct?
WebFreak001
d.forum at webfreak.org
Tue Dec 14 08:28:01 UTC 2021
On Tuesday, 14 December 2021 at 08:12:04 UTC, zoujiaqing wrote:
> My code:
>
> ```D
> module http.HttpRequest;
>
> import std.container;
> import std.array : Appender;
>
> struct HttpRequest
> {
> struct Header()
> {
> Appender!string name;
> Appender!string value;
> }
>
> string method;
> string uri;
> int versionMajor = 0;
> int versionMinor = 0;
> Array!Header headers;
> ubyte[] content;
> bool keepAlive = false;
> }
> ```
>
> Error code:
> ```D
> source/http/HttpRequest.d(18,5): Error: struct
> `std.container.array.Array` does not match any template
> declaration
> ```
the problem is that your header is a template, so you need to
instantiate it:
```d
Array!(Header!()) headers;
```
the error message is kinda poor here.
Alternatively, remove the template `()` from your `struct Header`
More information about the Digitalmars-d-learn
mailing list