0

请帮助我通过解释消除错误

以下行出错:

_Sprite.position.x = _Body->GetPosition().x * _PhysicsWorld->RATIO;

错误消息:二进制表达式的操作数无效('float32 (aka 'float') 和 'float32( )()

_Body 是一个 B2Body 对象

_Sprite 是一个 CCSprite 对象

_PhysicsWorld->RATIO 返回 float32

如果我将行更改为:

_Sprite.position.x = _Body->GetPosition().x * (float) _PhysicsWorld->RATIO;

另一个错误消息来了:C-style cast from float32(*)() to float is not allowed.

4

1 回答 1

0

你可能需要做:

_Sprite.position.x = _Body->GetPosition().x * _PhysicsWorld->RATIO();

请注意 RATIO 之后的尾随 '()'。

您正在将一个浮点数(它解析为指针解引用)乘以一个返回浮点数的函数(我相信)。

于 2012-08-04T00:11:16.483 回答