Первый вариант
1) Вам нужно передать указатель по ссылке, чтобы изменить его значение при выделении памяти с помощью new[]
Метод(float& *arr) {}
2) Вы должны изменить указатель a (из main) по ссылке arr
arr = newArr;
Код:
void foo(float& *arr) {
// ... использование данных
delete [] arr;
float *newArr = new float[newSize];
//... заполнение новыми данными
arr = newArr;
}
float *a = new float[size];
foo(a);
Второй вариант
Вернуть из функции новый указатель
float* foo(float *arr) {
// ... использование данных
delete [] arr;
float *newArr = new float[newSize];
//... заполнение новыми данными
return newArr;
}
float *a = new float[size];
a = foo(a);