Default struct constructors if a struct member is a union
solidstate1991
laszloszeremi at outlook.com
Sat Jun 29 23:33:41 UTC 2024
```d
union U {
int i32;
long i64;
float f32;
double f64;
}
struct S {
TypeEnum type;
U data;
}
S foo0 = S(TypeEnum.Integer32, S(20)); //Ugly, but works
S foo1 = S(TypeEnum.Integer64, S(20L)); //Error: cannot
implicitly convert expression
//ditto for the rest of the members
```
My question is can I initialize structs like these in one line
without relying on a second line? My usecase scenario doesn't
really allow constructors for the struct, since it's a binding to
an external library via C API.
More information about the Digitalmars-d-learn
mailing list