std::vector<std::list <FOO> > DATA; wie Vectorgröße angeben?
-
Hallo Leute,
std::vector<std::list <FOO> > DATA;wie bekomm ich das hin, das DATA mit 4 std::list <FOO> Listen initalisiert wird?
-
std::vector<std::list <FOO> > DATA(4, std::list <FOO>());so vielleicht?
-
ne leider nich.. wie geht das?
-
Muss es eine std::list sein?
Wenn ja, warum?
-
std::vector<std::list <FOO> > DATA(4);
-
class BAR{ std::vector< std:list<FOO> > m_DATA; BAR(){ //Hier sollen 4 Listen leere in m_DATA initialisiert werden. } }mit dem:
std::vector< std::list<FOO> > m_lPointLists(4);-> syntax error 'constant'!!!
es muss ne liste sein, später soll mit trial /Eror backtracking objekte systematisc eingefügt etc. werden.. muss schnell gehen.. ! würd ich vector nhemen würde es zuviel zeit kosten ein element einzugliedern....
-
BorisDieKlinge schrieb:
mit dem:
std::vector< std::list<FOO> > m_lPointLists(4);-> syntax error 'constant'!!!

Was eine Initialisierungsliste ist, weißt du aber, oder?
struct FOO { }; class BAR { std::vector< std::list<FOO> > m_DATA; BAR() : m_DATA(4) { } };
-
ja das weis ich, das hatte ich auch schon probert.. Aber ich habe den fehler die std::vector std::list brauchen ne default konstruktor wen nman sie so initialisieren will...

-
Du musst halt am richtigen Ort deine Member initialisieren:
So gehts.class BAR{ std::vector< std:list<FOO> > m_DATA; BAR() : m_DATA(4) { } }
-
BorisDieKlinge schrieb:
die std::vector std::list brauchen ne default konstruktor wen nman sie so initialisieren will...

Und? Beide haben einen Default-Konstruktor.
Und beim nächsten Post: Codebeispiel, Umsetzung der bisherigen Lösungen, vollständige Fehlermeldungen die Du mit diesen Lösungen bekommst. Solltest Du inzwischen auch schon aufgeschnappt haben.
-
BorisDieKlinge schrieb:
jAber ich habe den fehler die std::vector std::list brauchen ne default konstruktor wen nman sie so initialisieren will...

Beide haben einen Default-CTor. Ich vermute eher, dass FOO keinen hat.
-
Bar hat zwei "const" variablen, die initalisiert werden müssen, dann muss man nen eigen "deafult"kosntruktor schreiben der das macht. Das war der grund nehm ic han

-
Tja, hättest du gleich den richtigen Code und die richtige Fehlermeldung gezeigt, wäre das vermutlich viel schneller gegangen.
-
jepp das stimmt.. muss erst wieder bischen warm werden mit dem c++ gedöns