Tworzę klasę
class mapa
{
public:
vector< vector< vector<char> > > plansza;
int xplanszy;
int yplanszy;
Pole plansza to trójwymiarowy vector przechowujący chary, xplanszy, yplanszy to szerokosci i wysokosc
mapa(int x, int y)
{
xplanszy = x;
yplanszy = y;
vector< vector< vector<char> > > plansza (y);
for(int i=0; i<y ;i++)
{
(plansza[i]).resize(x);
}
}
Taki wymyśliłem konstruktor, niby się kompiluje. Jednak jak się odwołuje do vectorów to wyskakuje mi vector subscript out of range
np. w sytuacji gdy pisze potem metody typu: (korzystające z metod vectora)
void rozmiar()
{
cout << "wysokosc wynosi: " << (plansza[0].size();
}
void test() //tylko dla sprawdzenia, teoretycznie element 0,0 powinien byc vectorem<char> pustym
{
if (plansza[0][0].empty())
{
cout << "dziala" << endl;
}
else
{
cout << "nie dziala" << endl;
}
}
Ktoś coś doradzi? Ew. podpowie jak stworzyć pole dwuwymiarowej tablicy zawierającej vector <char>, tworzonej dynamicznie (dam rade później program przerobić aby mi to działało bez problemu, jednak nie wiem jak coś takiego zrobić).