Fehler bei "for( auto it : mList )"
-
Hey zusammen,
Ich baue gerade ein Tutorial Video nach indem es darum geht ein Space Invaders Spiel selbst zu schreiben (kennt bestimmt jeder) Nur ich komme jetzt in dem tutorial zu einem Problem wofür ich keine lösungen finden kann bei googel. Ich möchte die funktion hier ausführen.void Asteroid::update(float frametime)
{
for( auto it : mList )
}in einer .hpp datei habe ich die liste mList definiert
private:
std::list<Asteroid*> mList;Nur er zeigt mir das mList nicht definiert sei. Die .hpp datei habe ich included... Weis nicht weiter
Habe vergessen zu erwähnen ich Benutze Visual 2012 Aktuellste Version heute updatet.
-
Hallo
Und welcher Fehler wird dir jetzt angezeigt? Hab leider die Glaskugel in der Arbeit liegen gelassen ;-). Vermuten würde ich aber mal, das der Body von der Schleife fehlt.
Ach und fürs nächste mal benutze bitte die Code-Tags, dann ist dein Code angenehmer zu lesen. Am besten wäre. Ich ein komplett kompilierebares Beispiel welches auf das nötigste reduziert ist aber den Fehler darstellt.
MfG mdn
-
Hmm, schwer zu sagen. Seh hier kein Fehler.
-
Ich baue gerade ein Tutorial Video
Du?
in einer .hpp datei habe ich die liste mList definiert
Deklariert - und in welcher Klasse, wenn man fragen darf?
Asteroid? Falls das der Fall ist, sehe ich (wie out) keinen Fehler.Die genaue Fehlermeldung wäre auch nicht schlecht.
-
Arcoth schrieb:
Ich baue gerade ein Tutorial Video
Du?
Komm wir essen Opa!
-
Entschuldigung das alles hinterfragt werden muss. Bin grade mal 2 tage jetzt an C++ dran
Muss erstmal wissen was genau ihr wissen wollt 
Mit wird in Visual 2012 mList unterstrichen mit der Meldung das der Bezeichner Mlist nicht definiert ist.
Hier mal beide Dateien die da eine Rolle Spielen
AsteroidMannager.hpp
#ifndef ASTEROIDMANNAGER_HPP #define ASTEROIDMANNAGER_HPP #include <iostream> #include <list> #include <SFML\Graphics.hpp> #include "Asteroid.hpp" class AsteroidMannager { public: AsteroidMannager(); void insert(Asteroid *asteroid); void update(float frametime); void handle(); void render(sf::RenderWindow *rw); private: std::list<Asteroid*> mList; }; #endifAsteroidMannager.cpp
#include "AsteroidMannager.hpp" AsteroidMannager::AsteroidMannager() { } void AsteroidMannager::insert(Asteroid *asteroid) { mList.push_back(asteroid); } void Asteroid::update(float frametime) { for(auto it : mList)<<------ Hier wird mir der Fehler Gezeigt das mList nicht definiert ist. } void Asteroid::handle() { } void Asteroid::render(sf::RenderWindow *rw) { }
-
Lol

Ich habe das "nach" völlig verschluckt
-
hab meinen fehler selbst gefixxed.. Habe versucht bei der Klasse Asteroid die liste eintzubinden... Danke aber für die schnellen antworten... Ging ja richtig schnell. Wirklich danke an alle beteiligten.
-
Nur ein Mini-Nachtrag: Ich nehme an, die Klasse soll AsteroidManager heißen, oder?

-
Homiophat schrieb:
hab meinen fehler selbst gefixxed.. Habe versucht bei der Klasse Asteroid die liste eintzubinden...
Es fehlt aber trotzdem noch ein Schleifenrumpf
-
Mich wundert es nicht, dass es im Internet bescheiden wenig gute Tutorials gibt, wenn Leute nach "2 Tagen C++" schon welche machen wollen...
Wäre es hier eigentlich nicht geschickter vector statt list zu benutzen?
-
Offtopicbeiträge entfernt. Und ausnahmsweise mal dokumentiert. Wer denkt, dass ich hier jeden Müll, den ich lösche mit einer Meldung für den Verfasser des Mülls bedenke, der darf mir gerne 10 Stunden seiner Zeit schenken.
In diesem Forum haben Offtopicbeiträge* nichts zu suchen. Wenn sie in anderen Foren relevant (und wichtig: produktiv!) wären, würden sie auch dorthin verschoben, anstatt gelöscht. Der Threadersteller jedenfalls hat seine Antwort.
*: Krass Offtopic, so wie es hier war. Abschweifen vom Thema zu verwandten, meist weiterführenden Themen wird gerne gesehen und macht das Forum stark.