I have a recursive function that requires me to create a new array every time the function is called. The function also requires the array that was previously created:
void myFunc(int* prevArray)
{
int newSize;
//do some calculations to find newSize
int* newArray;
newArray = new int[newSize];
//do some calculations to fill newArray
//check some stopping condition
myFunc(newArray);
}
This function leaks memory, but I can't avoid that by adding
delete[] newArray;
since I can only add that after calling the function again. How can I solve this?
delete[] newArray;after the call tomyFunc? - Joseph MansfieldprevArrayunless it equals nullptr. - CouchDevelopermyFuncrequires a large array computed by the previous call. - Joseph Mansfield