You may have more luck investigating standard C ways of dealing with this issue, instead of the common C++ methods.
Although it is typically not advised, you can use malloc and free on the Arduino. This allows you to dynamically use memory. I would provide a more detailed code example than below but when using dynamic memory it can be hard to troubleshoot what is going on without the use of a library to simplify the process. I would strongly advise doing a little study and understanding both dynamic memory management, and the repercussions of doing so on the Arduino platform. A solid foundation in this will pay off tenfold in time saved when debugging.
Note that you should check each time that you call malloc that it is successful
These resources might help:
Simple Example:
// Make a pointer to your array
someType *A;
// The size of your array, may be changed programmatically.
int arraySize = 5;
// Reserve memory for your array.
A = malloc(arraySize * sizeof(someType));
// Use Array
A[0] = someData;
// Release A's memory when complete.
free(A);