Доступ к экземпляру из функции обратного вызова


person gartenriese    schedule 04.04.2014    source источник
comment
Вы имеете в виду, когда клавиша сопоставляется с функцией, верно?   -  person WhozCraig    schedule 04.04.2014
comment
@WhozCraig: Ну да? Я имею в виду, что нажата клавиша и будет вызвана соответствующая функция.   -  person gartenriese    schedule 04.04.2014
comment
Я спросил только потому, что функция сопоставляется с клавишей. казалось полной противоположностью предложенной карте непосредственно перед этим. Просто хотел уточнить.   -  person WhozCraig    schedule 04.04.2014
comment
Я всегда думал, что все наоборот. Ну, ты всегда узнаешь что-то новое. Спасибо!   -  person gartenriese    schedule 04.04.2014


Ответы (1)


Взято из здесь.

Вам нужно что-то вроде этого:

glfwSetWindowUserPointer(window, this);
glfwSetKeyCallback(window, [](GLFWwindow * window, int key, int scancode, int action, int mods){

    Window * win = static_cast<Window *>(glfwGetWindowUserPointer(window));
    win->addCommand(win->m_events.at(key));

});
person gartenriese    schedule 04.04.2014