C++ glfwSetScrollCallback()编译失败
我想为我的应用程序设置鼠标滚动回调,但始终存在错误。以下是代码片段:C++ glfwSetScrollCallback()编译失败,c++,opengl,glfw,C++,Opengl,Glfw,我想为我的应用程序设置鼠标滚动回调,但始终存在错误。以下是代码片段: void RambleController::scrollCallback(GLFWwindow *window, double xoffset, double yoffset) { _owner->move(_owner->getForward() * (float)yoffset * _zoomSpeed); } RambleController::RambleController(float mov
void RambleController::scrollCallback(GLFWwindow *window, double xoffset, double yoffset)
{
_owner->move(_owner->getForward() * (float)yoffset * _zoomSpeed);
}
RambleController::RambleController(float moveSpeed, float lookAroundSpeed, float zoomSpeed, float slideAroundSpeed)
:_moveSpeed{ moveSpeed }, _lookAroundSpeed{ lookAroundSpeed },
_zoomSpeed{ zoomSpeed }, _slideAroundSpeed{ slideAroundSpeed } {
glfwSetScrollCallback(window, scrollCallback);//Error here
}
错误C3867
'violet::RambleController::scrollCallback': non-standard syntax; use '&' to create a pointer to member
在我将&添加到参数后,还有其他错误,如:
glfwSetScrollCallback(window, &scrollCallback);//
Error C2276'&': illegal operation on bound member function expression
任何人都知道如何解决这个问题。
scrollCallback
是一个成员函数,因此您无法执行&scrollCallback
操作并获得正常的函数指针。(您可以使用&RambleController::scrollCallback
获取成员函数指针,该指针对于glfwSetScrollCallback
无效)
确保您的
scrollCallback
函数是静态的
,或者完全在类之外。scrollCallback
是一个成员函数,因此您无法执行&scrollCallback
操作并获取正常的函数指针。(您可以使用&RambleController::scrollCallback
获取成员函数指针,该指针对于glfwSetScrollCallback
无效)
确保scrollCallback
函数是静态的
,或者完全在类之外