错误在OpenGL的glutkeyboardfuncc

error in OpenGL glutKeyboardFunc

本文关键字:glutkeyboardfuncc OpenGL 错误      更新时间:2023-10-16

我试图在OpenGL中使用glutKeyboardFunc。但是当我在main中使用这个函数时它会给我一个错误No matching function for call to 'glutKeyboardFunc'。为什么会这样呢?

#include<GLUT/glut.h>
#include<OpenGL/OpenGL.h>
#include<iostream>
using namespace std;
static void display(){
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    gluOrtho2D(-1.0, 1.0, -1.0, 1.0);
    glClearColor(0.0, 0.0, 0.0, 0.0);
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(0.6, 1, 0.4);
    glFlush();
}
void mykeypressed(char key, int x,int y){
}
int main(int argc, char * argv[]){
    glutInit(&argc, argv);
    glutInitWindowPosition(300, 300);
    glutInitWindowSize(500, 500);
    glutCreateWindow("ps4_1");
    glutDisplayFunc(display);
    glutKeyboardFunc(mykeypressed);
    glutTimerFunc(10000, exit, 0);
    glutMainLoop();
    return 0;
}

glutKeyboardFunc的签名为

void glutKeyboardFunc(void (*func)(unsigned char key, int x, int y));
//                                 ^^^^^^^^

您的mykeypressed()的第一个参数是char,而不是unsigned char

相关文章:
  • 没有找到相关文章