Am I trying to use a variable or pass a value by reference or by value?

yes, if we were to implement a method for clouds, which we have not yet.

Oh, ok, I was under the impression This:

if(sunRiseSunSet.isActive())
  {
    Serial.println(F("another cloud coming"));
    time_t now = DailyTimer::tmConvert_t(year(), month(), day(), hour(), minute(), second());
    time_t nextCloudStart = now + random(60, CLOUD_INTERVAL);
    time_t nextCloudEnd = nextCloudStart + random(60, CLOUD_DURATION);
    char buffer[32];
    sprintf(buffer, "Start %02d:%02d End %02d:%02d", hour(nextCloudStart), minute(nextCloudStart), hour(nextCloudEnd) , minute(nextCloudEnd));
    Serial.println(buffer);
    randomCloud.setStartTime(hour(nextCloudStart), minute(nextCloudStart));
    randomCloud.setEndTime(hour(nextCloudEnd) , minute(nextCloudEnd));
    randomCloud.begin();
  }

...was implementing the clouds.