Trouble with compile



Being beginner, I can't understand why

   array (u,integer,5);
   hh():=block(u[2]:333, print(u[2])); hh();

works but on the other hand

   array (u,integer,5);
   hh():=block(u[2]:333, print(u[2])); compile(hh); hh();

leads to an error message.

Thanks for explanations in advance.

M. K. Shen