Kan jag allokera tvådimenosionella arrayer dynamiskt med exempelvis new? Eller kan jag skapa tvådimensionella vektorer? Detta fungerar iaf inte. :l
vector<vector<int>> MapData;
5 svar · 289 visningar · startad av Nexus86
Kan jag allokera tvådimenosionella arrayer dynamiskt med exempelvis new? Eller kan jag skapa tvådimensionella vektorer? Detta fungerar iaf inte. :l
vector<vector<int>> MapData;
Jo, men >> är en operator i C++. Släng in ett mellanslag så funkar det bättre:
vector<vector<int> > MapData;
Hur blir koden sedan då? :o
vector<vector<int> > MapData;
MapData.push_back(new vector<int>);
Detta är förmodligen fel men hur ska det vara? :q
Det borde(?) funka så här:
vector< vector<int> > MapData(10);
Då skapar den en vector bestående av 10 tomma vector<int>. Vill du lägga till efterhand borde det räcka med MapData.push_back(vector<int>()) om jag inte misstar mig. Du kan inte göra MapData.push_back(new vector<int>()) eftersom new vector<int>() resulterar i en vector<int>*, vilket du ju inte kan lagra i en vector< vector<int> >
Jaha! Tackar! Ska prova detta. :)