I have tried calling the function with testpassarray(&test1[]); and testpassarray(&test1);
Neither of which is right. It is either:
testpassarray(&test1[0]);
or
testpassarray(test1);
Both values are the same, although, to me, the second is a lot easier to see as meaning the whole array.
void testpassarray( elements){
is String *.