so I'm learning c++, and coding game of life for practice.
I'm confused about vectors, and multidimensional vectors.

```
class TABLE{
     public:
     int height;
     int width;
     vector<vector<CELL>> matrix_A; 
     vector<vector<CELL>> matrix_B;
     bool current_matrix_is_a = true;
     TABLE(int h,int w){
          this->height=h;
          this->width=w;
          for (int y = 0; y < this->height; y++)
               {
               for (int x = 0; x < this->width; x++)
                    {
                    matrix_A[y].push_back(CELL(x,y));
                    matrix_B[y].push_back(CELL(x,y));     
               }
          }
     }
}

```

what this code is trying to do is make a pair of 2d vectors, and fill each row will a cell object instantiated with the x,y of where it is in the matrix.
the code compiles fine, however the .exe crashes - when it reaches the push\_back method.
am I missing something basic with the syntax?