首页 > 解决方案 > 如何在其他函数中声明函数?

问题描述

所以我正在用 c++ 在 opengl 中进行测验。问题是我不知道如何在其他函数中声明函数,所以我有一个错误。

void main_menu_display()
{
    glClear(GL_COLOR_BUFFER_BIT);

    // code to draw main menu

    glutSwapBuffers();
}

void main_menu_key(unsigned char key, int x, int y)
{

我也试过这个,以解决错误: //void first_screen_display(); //void first_screen_key();

    switch(key)
    {
    case 27: //< escape -> quit
       exit(0);
    case 13: //< enter -> goto first display
       glutDisplayFunc(first_screen_display);
       glutKeyboardFunc(first_screen_key);
       break;

并且出现错误:“first_screen_display”未在此范围内声明,第一个屏幕键也会发生同样的情况。

    }
    glutPostRedisplay();
}

void first_screen_display()
{
    glClear(GL_COLOR_BUFFER_BIT);

    // code to draw first screen of game

    glutSwapBuffers();
}

void first_screen_key(unsigned char key, int x, int y)
{
    switch(key)
    {
    case 27: //< escape -> return to main menu
       glutDisplayFunc(first_screen_display);
       glutKeyboardFunc(first_screen_key);
       break;
    /* other stuff */
    default:
       break;
    }
    glutPostRedisplay();
}

int main(int argc, char* argv[]) //argument count, argument variables
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB|GLUT_SINGLE);
    glutInitWindowSize(600,600);
    glutInitWindowPosition(100,100);
    glutCreateWindow("Quiz");
    glutDisplayFunc(main_menu_display); 
    glutKeyboardFunc(main_menu_key); 

    //glutDisplayFunc(first_screen_display); 
    //glutKeyboardFunc(first_screen_key);
    Init();



    glutMainLoop();
    return 0;
}

标签: c++openglglut

解决方案


推荐阅读