Pass array of unknown size to function

In reply to dave_59:

Just one more question
Can I do the foloowing:

int array_int [$];

foo_array_int(seed, array_int, "array_int");

Where foo_array_int is:

 function void foo_array_int (int seed, ref int q [$], input string mem_name);
      int temp;      
      for (int i = 0; i < q.size(); i++) begin
	 q.push_back(foo_int(seed, temp, mem_name));
      end	
   endfunction: foo_array_int

p.s
When I debug q.size() is allways 0…