2 dimensionaler vector mit std::vector
-
moin,
ich möchte einen simplen leveleditor schreiben.
die levelgrösse soll zur laufzeit veränderbar sein.
und zwar in x- und y- richtung.ich dachte da an std::vector.
und zwar so:
//--------------
class X
{
vector <CTile> m_Level_X_Vector;
}.
.
.und dann in der wieder einen vector, der dann den level darstellt.
vector <X> m_Level_Y_Vector;
// ------------------
hat schon mal jemand soetwas gemacht ?
danke für jede antwortvolker
-
mach doch einfach
vector<vector<CTile > > name;
du kannst dann mit name[x][y] drauf zugreifen und mit name[x].push_back() bzw name[x][y].push_back() neue elemente hinzufügen.
-
hmm, da schmiert er mir immer ab, wenn ich z.B. vi[0].push_back(1) mache.
vector <vector<int > > vi;
vi[0].push_back(1);
-
excess schrieb:
hmm, da schmiert er mir immer ab, wenn ich z.B. vi[0].push_back(1) mache.
vector <vector<int > > vi;
vi[0].push_back(1);Kein Wunder. vi hat zu diesem Zeitpunkt auch eine größe von 0. Der Zugriff vi[0] ist damit undefiniert.
Du musst vorher schon dafür sorgen, dass du auch einen vector hast. Sprich resize oder ähnliches aufrufen.
-
ähem ... hab ich dann auch geschnallt
danke.