-2
我已經在每一個線程在這個問題上,我仍然無法修復這個錯誤 這是GameManager.h錯誤c3867 ++不能弄明白
void myReshape(GLsizei w, GLsizei h);
void myDisplay(void);
void myBoardKeys(unsigned char key, int x, int y);
void timer(int millisec);
void speedtime(int speed);
void FPS(void);
void myIdle();
void mySpecialKeys(int key, int x, int y);
這是GameManager.cpp 我有所有的功能上述聲明如下
void GameManager::myBoardKeys(unsigned char key, int x, int y){....}
void GameManager::timer(int millisec){....}
這是我的主要功能
GameManager* _game = new GameManager();
// ----------------------------------------------------------
// main() function
// ----------------------------------------------------------
void main(int argc, char **argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize(INIT_WINDOW_W, INIT_WINDOW_H);
glutInitWindowPosition(-1, -1);
glutCreateWindow("The Frogger");
glutIdleFunc(_game->myIdle);//C3867
glutDisplayFunc(_game->myDisplay);//C3867
glutReshapeFunc(_game->GameManager::myReshape);//C3867
glutSpecialFunc(_game->mySpecialKeys);//C3867
glutKeyboardFunc(_game->myBoardKeys);//C3867
_game->timer(rand() % 1000);//C3867
glutTimerFunc(10000, _game->speedtime, 10000);//C3867
glutMainLoop();
}
我試着這樣稱呼它
&GameManager::myIdle
&_game->myIdle
它仍然給了我同樣的錯誤,我不明白爲什麼。
希望你們能幫助我這個
由於提前
那些免費的功能?如果是這樣,你爲什麼試圖通過_game指針餵食它們? – 2014-11-06 09:52:05
你說錯了。你應該把它叫做_game-> myIdle(),因爲你的myIdle是一個函數。你的'_game'是一個指向具有成員函數'myIdle()'的對象的指針。另外,我假設你的'myIdle'是一個公共函數或保護函數 - 不是私有的(然後無意義地調用)。 – ha9u63ar 2014-11-06 09:52:13
它們都是公共函數,_game-> myIdle()也不起作用,它返回類型爲「void」的參數與類型爲「void(__cdecl *)()」的參數不兼容。「我忘記提及所有這些函數都是假設的要回調,如果我把他們都放在我的主要文件他們的工作,但老師要他們出主,他不知道如何解決這個大聲笑 – 2014-11-06 09:54:31