Help with passing variable to a function and updating variable value

In old-style C you would use a pointer to pass-by-reference instead of pass-by-value:

void loop() {
  const unsigned long interval = 500;
  static unsigned long timePrev = 0 ;
  unsigned long timeNow = millis();
  if (timeElapse(timeNow, &timePrev, interval){
   // Do Stuff
  }
}

boolean timeElapse( unsigned long timeNow, unsigned long *timePrevious, unsigned long timeDelay) {
  if ( timeNow - *timePrevious >= timeDelay ) {
    *timePrevious = timeNow;
    return 1;
  }
  return 0;
}

In modern C and C++ you can use a 'reference':

void loop() {
  const unsigned long interval = 500;
  static unsigned long timePrev = 0 ;
  unsigned long timeNow = millis();
  if (timeElapse(timeNow, timePrev, interval) {
   // Do Stuff
  }
}

boolean timeElapse( unsigned long timeNow, unsigned long &timePrevious, unsigned long timeDelay) {
  if ( timeNow - timePrevious >= timeDelay ) {
    timePrevious = timeNow;
    return 1;
  }
  return 0;
}