我正在努力弄清楚我出错的地方。我的目标是将数组大小加倍,并将原始值两次复制到新数组中。目前只打印出6个零。请帮忙!!动态数组和重复值
#include <iostream>
using namespace std;
void repeatArray(double *&myArray, int size)
{
double *repeatArray = new double[size * 2];
for(int i =0; i < size; i++)
{
myArray[i] = repeatArray[i];
}
delete [] myArray;
myArray = repeatArray;
}
int main()
{
double* myArray = new double[3];
myArray[0] = 1;
myArray[1] = 2;
myArray[2] =3;
repeatArray(myArray, 3);
for (int i=0; i<6; i++)
{
cout << myArray[i] << endl;
}
delete []myArray;
return 0;
}
'repeatArray()'不会改变size'的'的价值,所以循环只复制三个值。它只会将'repeatArray'中的值复制到'myArray',而它需要从'myArray'复制到'repeatArray'。 – Peter