errore molto grave...
in pratica l'operazione che fai assegna ad una variabile un indirizzo di memoria, ecco perche' ti dice di castare. Per ovviare al problema (e spero sia quello che vuoi):
int *array = new int[DIM];
e la vita ti sorridera' di nuovo
bye