C++ Збільшити масив структур на 1

2075 / C++ / Структури / Збільшити масив структур на 1

 

struct Student
{
  char* name; 
  int ID; 
  int math;
};

struct Soldier
{
  char* name; 
  int ID; 
};

 
void AddSoldier(Student& student, Soldier*& group2, int& size2)
{
  Soldier* temp = new Soldier[size2 + 1];
  for (int i = 0; i < size2; i++)
  {
    temp[i].name = new char[40];
    strncpy(temp[i].name, group2[i].name, 40);
    temp[i].ID = group2[i].ID;
    delete[] group2[i].name;
  }
  temp[size2].name = new char[40];
  strncpy(temp[size2].name, student.name, 39);

  temp[size2].ID = student.ID;
  delete[] group2; //видаляємо старий масив
  group2 = temp; //у покажчик запишемо адресу нового масива
  size2++; //розмір +1
}