array of elements of various subclasses
spir
denis.spir at gmail.com
Sun Nov 7 09:52:52 PST 2010
On Sun, 07 Nov 2010 11:24:37 -0500
Jesse Phillips <jessekphillips+D at gmail.com> wrote:
> > And I'd like to know, as a possible workaround, if there is a way to save a variadic arg list:
> > class C {
> > ??? xs;
> > this(X xs...) {
> > this.xs = xs;
> > }
> > }
> >
> > Denis
> > -- -- -- -- -- -- --
> > vit esse estrany ☣
> >
> > spir.wikidot.com
> >
>
> You it is a typed variadic list (as shown above) it is just an array of that type so you should be able to save it to an X[]. If you are using the unsafe version then, no.
No, in fact a variadic param list is not an array -- this is according to TDPL an iternal type of the language. Trying to assign it to an X[] var throws:
DeeMatch.d(371): Error: cannot implicitly convert expression (patterns) of type DeeMatch.Pattern to Pattern[]
Well, actually, the type of the expression given in the error (DeeMatch.Pattern) is wrong: this is the type of each element of the variadic list.
Denis
-- -- -- -- -- -- --
vit esse estrany ☣
spir.wikidot.com
More information about the Digitalmars-d-learn
mailing list