Allochi spazio per maxdim puntatori, ma ogni puntatore punta ad un' area di memoria non allocata.Per cui devi allocare anche lo spazio per contenere maxdim interi:

codice:
for(int i=0; i<maxdim;i++)
    matrice[i]=new int[maxdim];