Я создал 2 динамических массива в основной функции.Я передал их обоих в функцию по ссылке.Затем я копирую данные из меньшего динамического массива в больший динамический массив.Я удаляю меньший динамический массив.Назначьте адрес большего динамического массива меньшему динамическому массиву.Теперь в идеале массив arr должен иметь размер 10. Однако, когда я пытаюсь напечатать 6-й элемент массива в основном, он вылетает.Пожалуйста, посмотрите на код ниже:
#include <iostream>
#include <string>
using namespace std;
void func(string * arr, string * brr);
int main()
{
string* arr = new string[5];
arr[0] = "hello0";
arr[1] = "hello1";
arr[2] = "hello2";
arr[3] = "hello3";
arr[4] = "hello4";
string* brr = new string[10];
func(arr, brr);
for(int i = 0; i < 6; i++)
cout << arr[i] << endl;
return 0;
}
void func(string * arr, string * brr)
{
for(int i = 0; i < 5; i++)
brr[i] = arr[i];
for(i = 0; i < 5; i++)
cout << brr[i] << endl;
delete []arr;
arr = brr;
arr[5] = "hello5";
}