My question is how to access and modify a 2D array defined in one class that is friends with another class. Below are some details on my question:

In `class A` I declare and allocate the appropriate space for my 2D array (pointer-to-pointer) u. 

```
Class A
{
   public:
   friend class B;
   long double **u; 
   int fun;
   void make(); 
};
void A::make()
{
  long double **u = new long double *[nx];
  for (int i=0;i<nx;i++)
  u[i] = new long double [ny];
  int fun = 9;
}

```

`Class A` is friends with `Class B`; I need to use the array I declared in `Class A` in a function defined in `class B`. Below is my Class B:

```
class B
{
   public:
   void get(A*);
};

void B::get(A *pt)
{
   using namespace std;
   cout << pt->fun;
   cout << pt->u[0][0];
}

```

I get a Bus error on my second cout `pt->u[0][0]`. Is there a simple way to use this setup I have to access my u[][] array? I think that I get the error because the pointer points to the 1st entry of my array, thus my whole 2D array is saved in memory as a single row (thinking aloud here). I'm a Fortran guy so this stuff is a little new to me.

Any help or "pointers" to other helpful threads would be appreciated.

Thank you !

Alberto