Что-то действительно странное происходит: когда я вызываю foo (100 * 1.0f), где-то вдоль линии, которая становится 0. Чтобы проверить, что я поставил точку останова на foo(), она действительно равна нулю, и это действительно получает вызов со 100 * 1.0f. Код находится в Obj-C++.Параметр становится нулевым где-то
Вот функция вызова в БГД интерфейсе XCode, поскольку вы можете видеть, оценка * scoreMultiplier составляет 100. Calling Function 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);
}
}
А вот вызываемая функция в GDB фронтэнда XCode, вот _SCORE является 0. Called Function http://img156.imageshack.us/img156/1109/screenshot20100502at135.png
- (void) addScore:(NSInteger) _score {
score += _score;
JNLogString(@"Player can has %d points.. HURRAY!!!", score);
}
Пометка вопроса «mistery» не поможет вам получить мнения или ответы. В будущем попытайтесь правильно пометить вопросы. – Oded
code please ... – swegi
Извините, Oded, я не мог найти популярные теги, чтобы они соответствовали. Спасибо, что добавили их. – Nick