template in struct
John Colvin
john.loughran.colvin at gmail.com
Sat Mar 23 10:33:50 PDT 2013
On Saturday, 23 March 2013 at 17:08:27 UTC, dsmith wrote:
> How to make workable something like this:
>
> struct S (T...) {
> T args;
> string arg_str;
>
> foreach(i; args) {
> arg_str ~ to!string(i);
> }
> }
>
> void some_function(S s) { // here ... Error: struct S(T...)
> is used as a type
> s.args = [a, b, c];
> string args = s.arg_str;
> }
for a start, you have a foreach sitting in a struct declaration,
not in any constructor or method.
I think what you mean is:
struct S(T...) {
T args
string arg_str;
this(T args) {
foreach(i; args)
arg_str ~ to!string(i);
}
}
if you want the arg_str to be updated every time args are
changed, you'll need to introduce a method (or property) for this.
More information about the Digitalmars-d-learn
mailing list