gpt4 book ai didi

c++ - glutKeyboardfunc() 回调函数参数

转载 作者:行者123 更新时间:2023-11-28 07:22:44 26 4
gpt4 key购买 nike

在一个简单的 opengl 程序中,我有下面这一行:

glutKeyboardFunc(keypressed);

问题是我的“按键”功能在项目中包含的另一个 cpp 文件中。如何从我的其他文件中调用此函数?

在 main.cpp 中:

main()
{
---
glutKeyboardFunc(keypressed);
---
}

在 Motion.cpp 中:

void keypressed(unsigned char key, int x, int y){...}

我尝试的事情(都给出了编译错误):

glutKeyboardFunc(keypressed);
glutKeyboardFunc(Motion::keypressed);
glutKeyboardFunc(&Motion::keypressed);
glutKeyboardFunc(&keypressed);

Motion mot;
glutKeyboardFunc(mot.keypressed);

有什么建议吗?(如果库对答案很重要,我使用 freeglut.dll)

最佳答案

您需要在主 C++ 文件将读取它的地方包含一个函数原型(prototype)。一种方法是将它放在 main 函数之上:

void keypressed(unsigned char key, int x, int y);

一个常见的方法是让每个导出函数的 C++ 文件也有一个 header 文件,其中包含所有这些函数的原型(prototype)。然后,当您想要使用该文件中定义的函数时,您可以将该头文件包含在需要使用该函数的文件的顶部。

关于c++ - glutKeyboardfunc() 回调函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19203850/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com