我对 C++ 比较陌生,并且很难将我的数组传递到一个单独的函数中。对于重新提出一个毫无疑问已经被回答过十几次的问题表示歉意,但我找不到任何与我的代码遇到的问题类似的问题。
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);
}
最佳答案
您正在传递数组的拷贝,因此任何更改都不会影响原始数组。改为通过引用传递:
void addToArray(Array<int> &intarray)
// ^
关于C++ 将数组传递给函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17368007/