declaration of 'varDay' as array of references error
char &amp;varDay[3] is an array of 3 references to type char, not a reference to type char of size 3.
Instead just pass a pointer:
void getDate (char *varDay, char *varMonth, char *varYear, char *varDate, char *dash[2], char *colon[2]) {

Also:
strcpy (varDay, now.day());
strcpy (varMonth, now.month());
strcpy (varYear, now.year());

That won't work. You can't copy a number into a string. now.day() etc need converting to a string first.
It would be better to format your string with snprintf:
snprintf(varDate, 11, &quot;%02d-%02d-%04d&quot;, now.day(), now.month(), now.year());