新しい関数が作成されるたびにWindowsのmainloopに関数を追加する必要なしに、関数を外部に描画する配列関数を書いた。配列関数ポインタでvoidを呼び出す
これはうまくいきますが、別のクラスのpublic void関数を指しているときは、 '非静的メンバー関数への参照を呼び出さなければなりません'と言います。
コード:
int main(int argc, const char * argv[])
{
Window* win = new Window(800, 600, "3D Game Engine");
Game game;
win->draw[0] = a;
win->draw[1] = game.render;
win->MainLoop();
delete win;
}
Draw関数:
typedef void (*function_ptr)(int);
function_ptr *draw = (function_ptr*)malloc(sizeof(function_ptr));
はそれを呼び出すための方法はありますか?
おかげ
['std :: function'](http://en.cppreference.com/w/cpp/utility/functional/function)を見てください。 – Angew
「ウィンドウ」クラスの定義、特に「描画」配列の定義を投稿してください。 –