On Thu, 03 Mar 2011 00:45:05 -0500, Bekenn <leav...@alone.com> wrote:

On 3/2/2011 8:56 PM, Peter Lundgren wrote:
Where can I go to learn about parameterized structs? I can't seem to find any literature on the subject. In particular, what are you allowed to use as a
parameter? I would like to define a struct like so:

struct MyStruct(T, T[] a) {
     ...
}

but I receive the following error:

Error: arithmetic/string type expected for value-parameter, not T[]

Are arrays not allowed?

This compiles:

        struct MyStruct(T : T[], T a)
        {
                T A = a.dup;
        }

...but I have yet to figure out how to properly invoke it.

warning to all template novices -- a template compiling simply means it *PARSES*. You have to instantiate it, in order to verify it is correct. The compiler cannot possibly know the semantic meaning of a template without knowing what the parameters are.

I would expect your struct to never instantiate properly, because a.dup is not a valid static initializer.

-Steve

Reply via email to