Passing this to void *
Tim Hsu
tim37021 at gmail.com
Wed Nov 22 15:23:58 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.
I am afraid what will happen when casting this reference to void *
glfwSetWindowUserPointer gives us a chance to provide a pointer
to userdata. so that in callback function, we can retrieve the
data and don't have to declare global variable.
class App {
public this() {
m_window = glfwCreateWindow();
glfwSetWindowUserPointer(m_window, cast(void *)(&this));
}
}
How do I use this function in Dlang?
sorry for my bad english.
More information about the Digitalmars-d-learn
mailing list