Compilerfehler bei Erstellung von Verketteter Liste (STL)
-
Moin
Habe ein Problem in einer Klasse, das leidergottes auch auftritt wenn ich versuche die Problemzeile in einer anderne Klasse zu verwenden (was natürlich eh keinen sinn macht)
erstmal die klasse:
#ifndef PLAYER_H #define PLAYER_H #include <list> #include "Part.h" class CPlayer { public: void Init (); void Update (); void Render (); void Del (); void SetDirect(int Key); bool IsAlive () {return m_bIsAlive;} private: int m_Direction; bool m_bIsAlive; CPart m_Head; list<CPart> m_PartList; }; #endif
ohne die letzte Zeile, also
list<CPart> m_PartList;
klappt die compilierung ohne weitere probleme. wenn ich allerdings die liste trotzdem erstelle, und sei es nur eine liste vom typ int, spuckt der compiler folgende fehlermeldung aus:
e:\datenlager\c++\snake\snake\Player.h(21) : error C2143: Syntaxfehler: Es fehlt ';' vor '<' e:\datenlager\c++\snake\snake\Player.h(21) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. e:\datenlager\c++\snake\snake\Player.h(21) : error C2238: Unerwartete(s) Token vor ';'
diese 3 fehlermeldungen wiederholen sich dann noch drei weitere male
es ist eigentlich nicht das erste mal dass ich mit listen arbeite deshalb kann ich den fehler absolut nicht nachvollziehen und wäre über baldige hilfe erfreut
gruß kane
-
std::list<..> Name;
-
list liegt im Namespace std, also
std::list<CPart> m_PartList;
Klassenpräfixe sind übrigens out.