c++ - GLFW_PRESS 抛出“需要左值作为赋值的左操作数”
问题描述
我正在尝试使用文档中提供的代码制作一个简单的 GLFW 键回调函数:
void key_callback(GLFWwindow* window, int key, int scancode, int action, int mods) {
if (key == GLFW_KEY_W && action = GLFW_PRESS) {
glTranslatef(0.25f, 0, 0);
}
if (key == GLFW_KEY_A && action = GLFW_PRESS) {
glTranslatef(0, 0, 0.25f);
}
if (key == GLFW_KEY_S && action = GLFW_PRESS) {
glTranslatef(-0.25f, 0, 0);
}
if (key == GLFW_KEY_D && action = GLFW_PRESS) {
glTranslatef(0, 0, -0.25f);
}
}
但是,G++ 抛出错误:
glfw3.h:310:37: error: lvalue required as left operand of assignment
310 | #define GLFW_PRESS 1
| ^
main.cpp:70:36: note: in expansion of macro 'GLFW_PRESS'
70 | if (key == GLFW_KEY_W && action = GLFW_PRESS) {
对于这些“if”语句中的每一个。
我在使用此命令编译时遇到了它:
g++ main.cpp -lopengl32 -lglu32 -lglfw3 -mwindows
. 我已经用 MinGW 正确安装了 GLFW,它可以自己编译。
解决方案
问题是语法错误,使用=
而不是==
.
推荐阅读
- javascript - How can I trigger onwheel event up and down effect in javascript?
- mysql - 带有字符串变量的Excel VBA mysql查询
- python - Nginx、Django、Docker-Compose CORS 策略问题
- jenkins - Jenkins 多分支管道
- java - 部署 java web 应用程序后给出 404 – 内部服务器错误
- iis - IIS 问题,无法在 Windows 10 1909 上启动 Windows Process Activation Service,错误 30
- xml - 使用 xslt 将 xml 转换为另一种 xml 格式
- c# - 当我的角色走进球时,如何让我的球像球一样滚动?
- vba - Micro Focus / Reflection Workspace Attachmate .Emulation.Frame (32) 位未关闭
- qt - 嵌入式 Qt WebEngine 安全风险