简体   繁体   中英

Why is exit(0) giving me errors?

So I've been following a tutorial and when I tried to compile the below code:

#include <glut.h>
#include <iostream>

void render(void);
void keyboard(unsigned char c, int x, int y);
void mouse(int button, int state, int x, int y);

int main(int argc, char** argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
    glutInitWindowPosition(100, 100);
    glutInitWindowSize(640, 480);
    glutCreateWindow("Test GLUT App");

    glutDisplayFunc(render); // render
    glutKeyboardFunc(keyboard);
    glutMouseFunc(mouse);

    glutMainLoop(); // initialization finished. start rendering
}

void render(void)
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glBegin(GL_TRIANGLES);
    glColor3f(0.5, 0.2, 0.9);
    glVertex2f(-0.5, -0.5);
    glColor3f(0.1, 0.2, 0.5);
    glVertex2f(0.0, -0.5);
    glColor3f(0.3, 0.9, 0.7);
    glVertex2f(0.0, 0.5);
    glEnd();

    glutSwapBuffers();  
}

void keyboard(unsigned char c, int x, int y)
{
    if(c == 27)
    {
        exit(0);
    }
}

void mouse(int button, int state, int x, int y)
{
    if(button == GLUT_RIGHT_BUTTON)
    {
        exit(0);
    }
}

I get 3 errors out of nowhere:

Error 1 error C2381: 'exit' : redefinition; __declspec(noreturn) differs c:\\program files (x86)\\microsoft visual studio 10.0\\vc\\include\\stdlib.h 353

Error 2 error C3861: 'exit': identifier not found ....main.cpp 45

Error 3 error C3861: 'exit': identifier not found ....main.cpp 53

Does anyone see why this error appears? Im using VS2010.

You need to #include <cstdlib> .

edit:

You are probably following a very known tutorial that provides a header file for you.

This will help you then GLUT exit redefinition error

如果您的Visual Studio抛出构建错误,提示IntelliSense无法识别“退出”,则您必须包含process.h

Try adding using namespace std to the top. I'm not sure if this will fix it but i had a similar error earlier and that fixed it. good luck.

u need to declare header simple as work , works in my comp

#include <stdlib.h>
#include <cstdlib>
#include <glut.h>
#include <iostream>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM