Извините, это, должно быть, очень простая ошибка, но я искал ее повсюду, и, похоже, я не могу решить мою проблему, я просто делаю некоторый "массив ввода и вывода" для своего класса ООП, я использую динамическое разрешениедля моего массива, вот мой код, и я знаю, что это только ошибка удаления, другие (создать, вставить, ... отлично работают), большое спасибо всем:
я пробовал delete [] a;
delete a
также, но это не сработало, я попытался поставить system("pause")
сразу после этого (я гуглил это), но тоже нет: ((
void shift_left_array(int *a,int k , int &n, int step = 1) {
// k : begin position
// n : end position
for (int i = k; i < n; i++) {
*(a + i - 1) = *(a + i); // Shift right array
}
}
void delete_from_array(int *a, int &n) {
int k; // delete position
// shift left, then resize array
cout << "Which position do you want to delete ? (Type from 0 to " << n - 1 << ") : " << endl;
cin >> k;
shift_left_array(a, k + 1, n);
n--; // resize array
delete (a + n); // Trigger break point error here
}
int main() {
int n = 0;
int *a = new int[n];
cout << "Insert array size : " << endl;
cin >> n;
// Create new array
create_array(a,n);
display_array(a,n);
// Add more value to array (increase array size)
insert_to_array(a, n);
display_array(a, n);
// Delete value from array
delete_from_array(a,n);
display_array(a, n);
// Sort
bubble_sort(a,n);
display_array(a, n);
// Search
linear_search_array(a, n);
// Update
update_array_value(a, n);
display_array(a, n);
system("pause");
return 0;
}