我正在努力弄清楚我出錯的地方。我的目標是將數組大小加倍,並將原始值兩次複製到新數組中。目前只打印出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