cout << P->astring <<endl;
Please tell me if I am correct.
This does not work because the compilers sees that P is an array of pointers.
So, the compiler processes the first bracker  and determines which pointer to 'use'
When it encounters the , it assumes that it is now dealing with the 10th memory offset of pointer AStruct, which should lead to some bad memory access issues.
I'm just trying to confirm some of my suspicions.
I'm also curious if it is possible to access an array of pointers via brackets as a multidimensional array.
It's a bit annoying to have to do a P[5 * RowLength + 10]