如何在其他函数中声明函数?

问题描述 投票:0回答:2

所以我正在用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)
{

我也尝试过此方法来解决错误://避免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++ opengl glut
2个回答
0
投票

因此,我在全局范围内声明了函数,并且没有错误,但是我的屏幕是白色的,文本没有以某种方式显示。我在使用命名空间std之后立即声明了它们;void first_screen_display();void first_screen_key(unsigned char key,int x,int y);


-1
投票

在另一个函数中定义一个函数是在C ++中声明一个函数的无效方法。For more details see:

© www.soinside.com 2019 - 2024. All rights reserved.