Buenas, es mi primer post en este foro que considero interesante, a ver si te puedo ayudar:
para trabajar con memoria dinámica deberías usar los operadores new y delete junto con punteros.
un sencillo ejemplo:
const int TAM = 10; // tamaño del array.
int *ptrArray = 0; // inicializamos un puntero.
if ( ( ptrArray = new int [TAM] ) == NULL ) // o también if ( !ptrArray )
cout << "error de asignación de memoria";
else
cout << "empezamos a trabajar con el array";
delete [] ptrArray;
Si alguien le encuentra algún error no duda en corregir, estamos aquí para aprender.
Salu2