Passing this to void *
Dukc
ajieskola at gmail.com
Wed Nov 22 15:27:27 UTC 2017
On Wednesday, 22 November 2017 at 15:17:33 UTC, Adam D. Ruppe
wrote:
> On Wednesday, 22 November 2017 at 15:07:54 UTC, Stefan Koch
> wrote:
>> &this will do.
>
> Even if it were an lvalue, that would be the address of a
> local. You should basically NEVER do that with D classes.
>
> Just `cast(void*) this` if you must pass it to such a function.
It's worth noting that you will still be passing different
addresses to foo(void*) because classes are reference types in D
(structs are not). In the constructor you're passing the address
of the class object itself, but in the main function you're
passing the address of the reference.
More information about the Digitalmars-d-learn
mailing list