program zatrzymuje się na wypełnianiu wektora 2D

0

Tak jak w tytule. Mój kod:

szachownica.cpp:

#include "szachownica.h"
#include <iostream>
#include <vector>

using namespace std;

Szachownica::Szachownica(int rozmiar) : rozmiarSzachownicy(rozmiar){
   //wypelnianie wektora 2d:
    for(int i = 0; i < rozmiar; i++){
        for(int j = 0; j < rozmiar; j++){
            cout << j << " ";               // w konsoli wypisuje tylko raz tę linię
            wektor2d[i][j] = j;
        }
        cout << endl;
    }

szachownica.h:

#include <vector>
#include <string>

class Szachownica{
private:
    int rozmiarSzachownicy;
    std::vector<std::vector<std::string>> wektor2d;
public:
    Szachownica(int rozmiar);
    void wypisz();

};

main.cpp:

#include <iostream>
#include "szachownica.h"

using namespace std;

int main()
{
    Szachownica szach1(12);
    std::cout << "\n\n";
    Szachownica * szach2 = new Szachownica(6);
    delete szach2;
    return 0;
}

Proszę o pomoc.

2

Nigdzie nie ustalasz rozmiaru wektora. Albo zrób to przy inicjalizacji, albo użyj resize. Albo funkcji push_back.

Przy okazji, zalecam lekturę:

1 użytkowników online, w tym zalogowanych: 0, gości: 1