我已經編寫了一個數組函數來在外部繪製openGL代碼,而無需在每次創建新函數時在Windows主循環中添加該函數。在數組函數指針中調用void void
它工作正常,但是當我將它指向另一個類中的公共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;
}
繪圖功能:
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
請問您可以發佈「窗口」類的定義 - 特別是「繪製」數組的定義嗎? –