-1

Graphics Library Utility Toolkit と Open Graphics Library (GLUT+OpenGL) を使い始めたところです。

ウィンドウを作成したくて、さまざまなチュートリアルを使用してこのコードを試しましたが、うまくいきませんでした。

#include <OpenGL/OpenGL.h>
#include <GLUT/GLUT.h>
void display(void) {
    glClearColor(0.0, 0.0, 0.0, 1.0);
    glClear(GL_COLOR_BUFFER_BIT);
    glLoadIdentity();
    gluLookAt (0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
    glFlush();
}   

int main (int argc, char **argv[]) {
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE);
    glutInitWindowSize(400, 400);
    glutInitWindowPosition(100, 100);
    glutCreateWindow("My First GLUT/OpenGL Window");
    glutDisplayFunc(display);
    glutMainLoop();
    return 0;
}

それは私にエラーを与えました:

char***' ' から ' char**' への引数 ' 2' を ' ' に変換できませんvoid glutInit(int*, char**)"

13行目でエラーが発生しました。

誰か私にこれに関する情報を教えてください。ありがとうございました!

4

1 に答える 1

3

エラー メッセージは、ポインタへのポインタへのポインタへのポインタへのポインタを の 2 番目の引数として渡していることを示していますglutInit。それはその関数が期待するものではなく、ポインタからポインタへの文字を取ります。

問題は へのあなたの署名にありmainます。標準の 2 つの引数のmain関数は、int とポインターからポインターへのポインターを受け取ります。

int main(int argc, char **argv)

これは次のようにも書けます:

int main(int argc, char *argv[])

(2 つの形式は同等です。)

もう 1 つの間接的なレベルを追加しています。

于 2013-05-26T06:54:42.117 に答える