回调函数中的 GLFW 传递了更多的参数,然后是预期的
GLFW in callback function pass more argument then intended
我在C++中使用GLFW和他的回调函数。我想在回调函数中实现的是修改我的类Keyboard
类型的变量。
回调函数的类型必须是 void(* GLFWkeyfun) (GLFWwindow *, int, int, int, int)
glfwSetKeyCallback(GLFWwindow *window, GLFWkeyfun cbfun)
不允许我传递捕获Keyboard
的 lambda 函数。
它适用于模板化函数,但它非常笨拙,因为Keyboard
必须在编译时定义,并且不会使代码面向对象。(即,如果我想创建一个新窗口并不像创建一个新实例那么容易(。
我试图扩展GLFWwindow
以便我可以使用多态性,以便我可以放置一个包含Keyboard
的导数对象作为glfwSetKeyCallback
的第一个参数,以便我可以从回调函数的第一个参数中获取相同的对象。但是当我扩展GLFWwindow
我的 IDE 告诉我"不允许不完整的类型">
如何从回调中修改我的Keyboard
?我真的希望我的设计尽可能模块化。
我应该多研究一下。我可以将Keyboard
放在glfwSetWindowUserPointer
中,并使用glfwGetWindowUserPointer
从回调中获取它。
相关文章:
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 如何将子类作为函数的参数传递给期望基类,然后将该对象传递到指向这些抽象类对象的指针向量中?
- 如何在C++中获取lua函数作为参数,然后调用它
- 如何对绑定的成员方法进行typedef,然后将该类型用作模板参数
- 将函数应用于元组中的每个元素,将每个元素强制转换为类型包中的不同类型,然后作为参数包传递
- C++大括号初始值设定项作为参数调用不同的构造函数,然后预期
- 功能模板参数包,然后是模板参数和专业化
- 回调函数中的 GLFW 传递了更多的参数,然后是预期的
- 将指针作为参数分配给类变量,然后使用它抛出读取访问违规
- 是否可以制作一个定时函数,该函数可以将函数作为参数调用,然后运行并计时
- 我如何在燃料中读取指令,然后使用来自Infile的参数将函数形状写入外档
- 一种体面的方式来转换const列表参考参数,然后传递到另一个函数
- 如何将对象数组作为构造函数中的参数传递,然后将传递的数组复制到另一个数组(仍在构造函数中)
- 将具有任意参数和占位符的函数存储在类中,然后再调用它
- 我想意识到一个接收STD ::相同参数的函数,然后称其为“如何”
- 打开一个 Shell 程序,向其传递参数,然后返回结果
- Boost绑定和Boost函数,将带有参数的函数存储在向量中,然后执行它们
- 如何在参数中传递函数,然后从对象调用该函数
- 在向量中搜索其第一个参数的所有实例,然后在向量中返回这些实例
- C++ 指针参数:创建指向的值的副本,然后再次将副本存储为指针是否有意义