gpt4 book ai didi

c++ - 如何在函数中使用无参变量?

转载 作者:行者123 更新时间:2023-11-30 20:48:00 24 4
gpt4 key购买 nike

学习opengGL(+glfw)我遇到了有趣的事情:我必须在glfwSetCursorPosCallback (Glfwwindow* , GLFWcursorposfun mouse_callback);中只使用一种函数mouse_callback的原型(prototype)我应该如何在我的 mouse_callback 中使用变量 GLfloat yaw = -90.0f; 而不将其作为参数传递(将会出现错误)或全局变量。

最佳答案

你不能。 C 函数指针不支持绑定(bind)参数。通常,您可以将指针传递给已包含该值 -90.0f 的特定函数,或使用全局变量。

是的,这很糟糕。这就是 C++ 引入 std::bind 和 lambda 的原因。不幸的是,OpenGL API 不允许您使用此类功能。

但是,它确实允许您通过 glfwSetWindowUserPointer 将某些任意数据结构“绑定(bind)”到窗口上下文。和 glfwGetWindowUserPointer ,这样您就可以探索将您的值编码到该结构中。

关于c++ - 如何在函数中使用无参变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50375390/

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