Вызвано исключение, а почему - непонятно
struct DormitoryPlace
{
std::string Name;
float average;
float income;
unsigned int group;
};
void Delete(DormitoryPlace*& array, int &amount)
{
std::cout << "\nУдаление структур, у которых группа студента = 5\n";
for (int i = 0; i < amount; i++)
{
if (array[i].group == 5)
{
amount--;
for (int j = i; j < amount; j++)
array[j] = array[j + 1];
i--;
}
}
DormitoryPlace* newarray = new DormitoryPlace[amount];
for (int i = 0; i < amount; i++)
{
newarray[i] = array[i];
}
delete[] array;
array = newarray;
}
У меня есть структура DormitoryPlace, а также функция для удаления элементов с заданным признаком из массива структур( он передается в качестве параметра). Так вот, когда я проделываю разные манипуляции, в конце при освобождении памяти:
delete[] array;
вызывается исключение:
Вызвано исключение: нарушение доступа для чтения. this было 0xB0949CB8.
Пробовал просто убрать, а вылазит ошибка. В чем может быть проблема?