Функция, возвращающая массив, но основной показывает мусор [дубликат]
Следующий код печатает значения мусора. Я передаю массив в функцию, которая добавляет 5 к каждому элементу, но когда он возвращает указатель этого массива, основной показывает мусор.
Я пробовал индексировать и указатели там в основном, но все еще те же результаты. Как я могу это исправить?
# include <conio.h>
# include <iostream>
using namespace std;
int * add5ToEveryElement(int arr[], int size)
{
int theArray[5];
for(int i=0; i<size; i++)
{
theArray[i] = arr[i] + 5;
cout<<theArray[i]<<endl;
}
return theArray;
}
void main()
{
const int size = 5;
int noArr[size];
for(int i=0; i<size; i++)
{
noArr[i] = i;
}
int *arr = add5ToEveryElement(noArr, size);
cout<<endl;cout<<endl;
for(int i=0; i<size; i++)
{
cout<<arr[i]<<endl;
}
cout<<endl;cout<<endl;cout<<endl;cout<<endl;
for(int i=0; i<size; i++)
{
cout<<*arr<<endl;
*arr++;
}
getch();
}