我收到(仅)以下编译错误:
RuberSystem.cpp:425:警告:格式“%5f”需要类型“double”,但参数 3 的类型为“int”</p>
以下是声明:
float x = 6000.0f;
float z = -6000.0f;
float lx = -6000.0f;
float lz = 6000.0f;
float angle = 0.0f;
这是第425行:
printf("Right pressed: angle=%5f\nx=%5f\nlx=%5f\nz=%5f\nlz=%5f",angle,x,lx,z,lz);
这些变量进行的唯一操作是:
angle -= 0.01f;
lx = sin (angle);
lz = -cos (angle);
我也尝试使用 (float) 进行这些操作,但没有运气。
可能有用的信息:这在我的 Windows 机器上工作,在 Visual Studio 8 中,现在我正在我的带有 GNU g++ 的 macbook 上编译。我已经为 mac 使用设置了正确的定义。
编辑:我发现了对这些变量的另一项操作:
gluLookAt(
x, 1500.0, z, // eye location
x+lx, 0.0, z+lz, // center location
0.0, 1.0, 0.0); //open GL function
我查看了 gluLookAt 的代码,它似乎接受了浮点数并将它们存储在浮点数矩阵中,所以我也没有看到问题存在,但我认为分享它是一件好事。
答:我是个白痴。正在调用的方法angle -= 0.01f;...
具有名为int x
and的参数int y
,因此是void processSpecialKeys(int key, int x, int y) {
。