std::list funktioniert nicht so, wie sie es soll
-
Hallo C++-Forum!
Ich beschäftige mich in letzter Zeit mit C++ in Verbindung mit HGE und will nun die Gesamtanzahl der lebendigen Partikel bei Benutzung eines hgeParticleManagers herausfinden. Ich habe vor, alle von dem hgeParticleManager erzeugten hgeParticleSystems in einer std::list zu speichern und so den Mittelwert herauszufinden. Mein Mittelwert beträgt jedoch immmer 0. Meine list definiere ich so:
std::list<hgeParticleSystem> parts;Meine Funktion zur Berechnung des Mittelwertes lautet wie folgt:
int CalcParticleCount(){ int res = 0; hgeParticleSystem *elem = 0; std::list<hgeParticleSystem>::iterator it; for (it=parts.begin() ; it != parts.end(); ++it ){ res += it->GetParticlesAlive(); } return res; }Das Hinzufügen zur Liste geschieht so:
PC = partMan->SpawnPS(&ExploSys->info,x-16,y-16); if (PC != 0) parts.push_back(*PC);Exceptions werden keine geworfen, doch der Mittelwert bleibt 0 und ich weiß nicht wieso. Kann mir jemand helfen?
-
Ich sehe keinen Mittelwert.
-
Du scheinst das Objekt zu kopieren, probiere es mal mit Zeigern.
std::list funktioniert nicht so, wie sie es soll
Doch, tut sie.