0

説明付きでエラーを取り除くのを手伝ってください

次の行のエラー:

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

エラー メッセージ: バイナリ式 ('float32 (別名 'float') および 'float32( )() )に対するオペランドが無効です

_Body は B2Body オブジェクトです

_Sprite は CCSprite オブジェクトです

_PhysicsWorld->RATIO は float32 を返します

行を次のように変更すると:

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

別のエラー メッセージが表示されます: float32(*)() から float への C スタイルのキャストは許可されていません。

4

1 に答える 1

0

あなたはおそらくする必要があります:

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

RATIOの後の末尾の「()」に注意してください。

float(代わりにポインターの逆参照に解析される)に、floatを返す関数(私は信じています)を掛けています。

于 2012-08-04T00:11:16.483 に答える