Derived type
novice2
sorryno at em.ail
Tue Mar 30 19:02:09 UTC 2021
On Tuesday, 30 March 2021 at 14:45:12 UTC, WebFreak001 wrote:
> Xobj can then be used interchangeably with void*, so all void*
> arguments accept Xobj and all Xobj arguments accept void*.
yes, i understand alias, and i dont want such behaviour
> If you want a type-safe alias that makes all void* arguments
> accept Xobj but not Xobj arguments to accept void*
yes, this is that i search
> you can use `Typedef` like you linked.
Problem with Typedef template - code
alias Xobj = Typedef!(void*)
not generate type named "Xobj",
but type named "Typedef!(void*, null, null)".
This makes compiler error messages unusable.
> enum Xobj : void*;
> ```
> This allows explicit conversion in both ways using cast, but
> only allows implicit conversion from Xobj to void*, not from
> void* to Xobj:
Strange syntax.
Behavour exactly what i want, but this code not works for me :(
enum Xobj : void*;
Xobj var; //DMD Error: enum test7.Xobj forward reference of
Xobj.init
More information about the Digitalmars-d-learn
mailing list