no matching function for call to 'HardwareSerial::println(const char [39], int&,

#define ONE_THOUSAND 1000
#define SIXTY 60
#define TWENTY_FOUR 24
#define PORT_MONITOR_VELOCITY 9600
#define INP_0 0
#define BATTARY_AMOUNT 5

struct BattaryDischargingTimeType
{
  int Days;
  int Hours;
  int Minutes;
  int Seconds;
  int Milliseconds;     
};

enum BattaryCurrConditionType{Charge, Discharge};
enum AmountOfDischargeBattariesConditionType{noOne, One, Two, Three, Four, Five, Six};

void setup();
void loop();
void initBattaryDischargingTimeArray(BattaryDischargingTimeType *BattaryDischargingTimeArray);
void setBattaryCurrConditions(BattaryCurrConditionType *BattaryCurrConditionArray);
void printDischargingTime(BattaryDischargingTimeType *BattaryDischargingTimeArray);

int main()
{
  setup();
  BattaryDischargingTimeType BattaryDischargingTimeArray[BATTARY_AMOUNT];
  BattaryCurrConditionType BattaryCurrConditionArray[BATTARY_AMOUNT];
  AmountOfDischargeBattariesConditionType AmountOfDischargeBattaries = noOne; 
  initBattaryDischargingTimeArray(BattaryDischargingTimeArray);
  setBattaryCurrConditions(BattaryCurrConditionArray);
  printDischargingTime(BattaryDischargingTimeArray);
}

void setup() {
  // put your setup code here, to run once:
  Serial.begin(PORT_MONITOR_VELOCITY);
}

void loop() {
  // put your main code here, to run repeatedly:
}

void initBattaryDischargingTimeArray(BattaryDischargingTimeType *BattaryDischargingTimeArray)
{
  for(int currBattary = INP_0; currBattary <= BATTARY_AMOUNT; currBattary++)
  {
    BattaryDischargingTimeArray[currBattary].Days = 0;
    BattaryDischargingTimeArray[currBattary].Hours = 0;
    BattaryDischargingTimeArray[currBattary].Minutes = 0;
    BattaryDischargingTimeArray[currBattary].Seconds = 0;
    BattaryDischargingTimeArray[currBattary].Milliseconds = 0; 
  }
}

void setBattaryCurrConditions(BattaryCurrConditionType *BattaryCurrConditionArray)
{
  for(int currBattary = INP_0; currBattary <= BATTARY_AMOUNT; currBattary++)
  {
    BattaryCurrConditionArray[currBattary] = Charge;
  }
}

void printDischargingTime(BattaryDischargingTimeType *BattaryDischargingTimeArray)
{
  for(int currBattary = INP_0; currBattary <= BATTARY_AMOUNT; currBattary++)
  {
    Serial.println("Time of discharging of battary number ", currBattary, " is ", BattaryDischargingTimeArray[currBattary].Days, ":", BattaryDischargingTimeArray[currBattary].Hours,
    ":", BattaryDischargingTimeArray[currBattary].Minutes, ":", BattaryDischargingTimeArray[currBattary].Seconds, ":", BattaryDischargingTimeArray[currBattary].Milliseconds);
  }
}

The sketch is not compile. The problem in function printDischargingTime. What is the decision of resolving it?

You need to split that long print line into several separate separate ones each of which prints either text or a variable or use sprintf() to build the string to be printed then print it