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