Union Initialization
Ali Çehreli
acehreli at yahoo.com
Wed Jan 31 06:09:52 UTC 2018
On 01/30/2018 07:33 PM, Rubn wrote:
>
> Is there any way to initialize an array of unions with more than just
> the first union type?
>
>
> struct A { float a; }
> struct B { uint b; }
>
> union Test
> {
> A a;
> B b;
> }
>
> Test[2] test =
> [
> Test(A(1.0f)),
> Test(B(10)), // ERROR
> ];
>
>
> AFAIK there's no way to specify to use D with an initializer:
>
> Test test = { b: B(10) };
You can have explicit constructors:
union Test
{
A a;
B b;
this(A a) {
this.a = a;
}
this(B b) {
this.b = b;
}
}
Ali
More information about the Digitalmars-d-learn
mailing list