簡體   English   中英

為什么exit(0)給我錯誤?

[英]Why is exit(0) giving me errors?

因此,我一直在遵循教程,並在嘗試編譯以下代碼時:

#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);
    }
}

我從無處得到3個錯誤

錯誤1錯誤C2381:'退出':重新定義; __declspec(noreturn)與c:\\ program files(x86)\\ microsoft visual studio 10.0 \\ vc \\ include \\ stdlib.h 353不同

錯誤2錯誤C3861:'退出':找不到標識符.... main.cpp 45

錯誤3錯誤C3861:'退出':找不到標識符.... main.cpp 53

有人看到這個錯誤的原因嗎? 我正在使用VS2010。

您需要#include <cstdlib>

編輯:

您可能正在遵循一個非常知名的教程,該教程為您提供了頭文件。

這將幫助您然后GLUT退出重新定義錯誤

如果您的Visual Studio拋出構建錯誤,提示IntelliSense無法識別“退出”,則您必須包含process.h

嘗試在頂部using namespace std添加。 我不確定這是否可以解決問題,但是我之前有一個類似的錯誤,並且可以解決。 祝好運。

您需要將header聲明為work,可以在我的comp中使用

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM