Скажем, у меня есть:
void Render(void(*Call)())
{
D3dDevice->BeginScene();
Call();
D3dDevice->EndScene();
D3dDevice->Present(0,0,0,0);
}
Это нормально, пока функция, которую я хочу использовать для рендеринга, является функцией или функцией static
:
Render(MainMenuRender);
Render(MainMenu::Render);
Однако я действительно хочу иметь возможность использовать метод класса, так как в большинстве случаев функция рендеринга захочет получить доступ к переменным-членам, а Id скорее не сделает экземпляр класса глобальным, например.
Render(MainMenu->Render);
Однако я действительно не знаю, как это сделать, и по-прежнему позволяю использовать функции и static
функции-члены.