我有一堂课
class App {
private:
float angle;
public:
App();
int OnExecute();
void OnLoop();
void OnRender();
bool OnInit();
void OnCleanup();
};
//In my cpp file:
int App::OnExecute() {
if (OnInit() == false) {
return -1;
}
OnLoop();
OnRender();
OnCleanup();
return 0;
}
bool App::OnInit() {
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA );
glutInitWindowPosition(-1,-1);
glutInitWindowSize(1024,768);
glutCreateWindow("D&D VT");
glutDisplayFunc(Render); //Why can't I put this->OnRender
//glutReshapeFunc(changeSize);
//glutIdleFunc(Render);
return true;
}
我评论了我正在努力做我想做的事情的那一行。我想传递一个指向我的类函数的指针。我已经尝试了大约 4 种不同的方法来做到这一点,除非我创建一个非类函数来传递,否则我每次都会遇到编译错误。
我试过通过this->*OnRender
。我尝试将函数声明为 avirtual void
和 as void (App::*OnRender)()
。我尝试将其定义为void &App::OnRender() {};
.
每次抱怨我的语法组合时都会出现不同的错误。我错过了一些东西。