Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C++ Passing array into function

I'm relatively new to C++ and am having a tough time passing my array into a separate function. Apologies for re-asking a question that has no doubt been answered a dozen times before, but I couldn't find any questions similar to the problem I have with my code.

int main()
{
    Array<int> intarray(10);
    int grow_size = 0;

    intarray[0] = 42;
    intarray[1] = 12;
    intarray[9] = 88;

    intarray.Resize(intarray.Size()+2);
    intarray.Insert(10, 6);

    addToArray(intarray);

    int i = intarray[0];

    for (i=0;i<intarray.Size();i++) 
    cout<<i<<'\t'<<intarray[i]<<endl;

    Sleep(5000);
}

void addToArray(Array<int> intarray)
{
    int newValue;
    int newIndex;

    cout<<"What do you want to add to the array?"<<endl;
    cin >> newValue;
    cout<<"At what point should this value be added?"<<endl;
    cin >> newIndex;

    intarray.Insert(newValue, newIndex);
}
like image 404
Liam Avatar asked Jan 28 '26 14:01

Liam


1 Answers

You are passing a copy of the array, so any changes will not affect the original. Pass by reference instead:

void addToArray(Array<int> &intarray)
//                         ^
like image 186
trojanfoe Avatar answered Jan 30 '26 05:01

trojanfoe