Происходит что-то действительно странное: когда я вызываю foo (100 * 1.0f), где-то вдоль линии, которая становится 0. Для проверки я ставлю точку останова на foo (), и она действительно равна нулю, и она действительно вызывается с 100 * 1.0f. Код находится в Obj-C ++.
Вот вызывающая функция во внешнем интерфейсе GCB XCode, как вы можете видеть, Score * ScoreMultiplier равен 100.
Вызов функции http://img341.imageshack.us/img341/1109/screenshot20100502at135.png
void JNPP1PGameController::addScoreToPlayer(NSInteger score) {
if(!gameOver){
JNLogString(@"Adding score(%d*%f) to player", score, scoreMultiplier);
[player addScore: score*scoreMultiplier];
[wrapper setShouldNotify];
[wrapper notify];
} else {
JNLogString(@"Not adding score(%d*%f) because GAME IS OVAR", score, scoreMultiplier);
}
}
А вот вызываемая функция во внешнем интерфейсе GCB XCode, здесь _score равно 0.
Вызываемая функция http://img156.imageshack.us/img156/1109/screenshot20100502at135.png
- (void) addScore:(NSInteger) _score {
score += _score;
JNLogString(@"Player can has %d points.. HURRAY!!!", score);
}