Non ho capito il problema ma noto una cosa ...

Questa linea

string filename[MAX_DIM];

equivale a

char * filename[MAX_DIM];

ovvero ad un "vettore di puntatori a char" ...

Ma è quello che volevi ?