私が持っているとしましょう:
void Render(void(*Call)())
{
D3dDevice->BeginScene();
Call();
D3dDevice->EndScene();
D3dDevice->Present(0,0,0,0);
}
static
レンダリングに使用する関数が関数またはメンバー関数である限り、これは問題ありません。
Render(MainMenuRender);
Render(MainMenu::Render);
ただし、ほとんどの場合、レンダリング関数はメンバー変数にアクセスする必要があり、クラス インスタンスをグローバルにしない方がよいため、クラス メソッドも使用できるようにしたいと考えています。
Render(MainMenu->Render);
ただし、これを行う方法がまったくわかりませんが、関数とstatic
メンバー関数を使用できるようにしています。