Suche Liste analog zu list aus stl

Decelion

Grünschnabel
Hi
Die Lists aus STL haben soweit ich das verstanden habe einen Nachteil - sie benötigen eine komplette Klasse, bevor damit Listen erzeugt werden können. Gibt es auch Listen, die dies nicht benötigen?
Bzw gibt es hier wege außenherum?
Habe folgendes versucht:
C++:
//map.h:
class GameObject;

//main.cpp
#include <iostream>
#include "map.h"

std::list<GameObject> objects;

int main()
{
    return 0;
}

//map.cpp

#include "map.h"
class GameObject
{
    public:
        void* info
}

oder


C++:
//map.h:
class GameObject;
std::list<GameObject> objects;

//main.cpp
#include <iostream>
#include "map.h"


int main()
{
    return 0;
}

//map.cpp

#include "map.h"
class GameObject
{
    public:
        void* info
}

oder



C++:
//map.h:
class GameObject;

//main.cpp
#include <iostream>
#include "map.h"


int main()
{
    return 0;
}

//map.cpp

#include "map.h"
class GameObject
{
    public:
        void* info
}
std::list<GameObject> objects;

Funktioniert hat nur letzteres, aber das bringt das Problem mit sich, dass ich von main.cpp aus nicht an objects herankomme.
Meine nächste Idee wäre es, in map.h und map.cpp eine Funktion einzufügen, die auf die Liste objects in der map.cpp zugreift, die ich dann auch von der main.cpp aus aufrufen kann. Dies kommt mir nur etwas umständlich vor, entsprechend frage ich hier erstmal: Kennt jemand eine andere list-Implementierung bzw eine andere Möglichkeit mit der dies leichter geht?
 
Hi.

Wo liegt denn jetzt eigentlich dein Problem? Warum kannst du denn keine vollständig definierte Klasse an die Liste übergeben?

Du könntest Zeiger in der Liste speichern.
 
Vielen Dank, das war die Lösung. hatte es mit
C++:
std::list<void>
probiert, da bekam ich Fehler - Aber das gefällt mir sehr gut, habe jetzt die Logik dahinter auch besser drin.

lg
Dece

PS: Habe wirklich einen extremen gedanklichen Durchhänger gehabt.. jetzt mache ich es mit
C++:
std::list<GameObject*> objects
so wie ich es eigentlich gleich machen wollte. ups.
 

Neue Beiträge

Zurück