тригонометрия — переменная класса C ++ не обновляется

Я пытаюсь код счетчика для класса, который я сделал в C ++.
Я передаю количество времени, deltaT, методу класса Wake, который просто добавляет его к значению, уже сохраненному переменной в классе. Код является:

void checkPlayerWakes(int deltaT){
for(size_t i = 0; i < game.getPlayer().getWakes().size(); i++){
Wake& w = game.getPlayer().getWakes().at(i);
w.age(deltaT);
}
}

Однако таймер, который должен увеличиваться, остается равным 0.
Код для изменения таймера:

void Wake::age(int millis) {
cout << "Updating : " <<  currentLife;

this->currentLife += millis;

setAlpha(((double)currentLife)/((double)lifeTime));

cout << " " << currentLife << endl;
}

E.g.
first current life: 0
second current life: 16

Я знаю, что если бы я использовал

Wake w = something
w.age(deltaT)

это не сработает, потому что «w» будет просто копией объекта. Тем не менее, это явно не моя проблема здесь? Также game.getPlayer () также возвращает ссылку, PLAYERSHIP&,

В прошлый раз у меня была похожая проблема, она была решена путем вызова и возврата ссылок, а не только ClassName. Я все еще делаю что-то не так?

1

Решение

getWakes() Также необходимо вернуть ссылку, и должен вернуть vector& в отличие от вектора.
Я добавляю это здесь, чтобы убедиться, что этот вопрос помечен как ответ.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]