Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;在调整大小的动态数组中填充新元素_C++_Arrays_Pointers_Dynamic_Resize - Fatal编程技术网

C++ C++;在调整大小的动态数组中填充新元素

C++ C++;在调整大小的动态数组中填充新元素,c++,arrays,pointers,dynamic,resize,C++,Arrays,Pointers,Dynamic,Resize,在匆匆忙忙地完成作业的时候,我遇到了一个我想不出来的错误。我读过,也玩过,但我不知道我做错了什么 用户输入一个int指针数组,然后代码应该是数组大小的两倍,并用0填充新元素。问题是新元素不是0。我做错了什么?打印的这些数字是什么,地址是什么 输出: Enter array size: 3 Enter Element 0: 10 Enter Element 1: 11 Enter Element 2: 12 Entered Array: Element 0/3 is 10 Element 1/3

在匆匆忙忙地完成作业的时候,我遇到了一个我想不出来的错误。我读过,也玩过,但我不知道我做错了什么

用户输入一个
int
指针数组,然后代码应该是数组大小的两倍,并用
0
填充新元素。问题是新元素不是
0
。我做错了什么?打印的这些数字是什么,地址是什么

输出:

Enter array size: 3
Enter Element 0: 10
Enter Element 1: 11
Enter Element 2: 12

Entered Array:
Element 0/3 is 10
Element 1/3 is 11
Element 2/3 is 12

Resized Array:
Element 0/6 is 10
Element 1/6 is 11
Element 2/6 is 12
Element 3/6 is -33686019
Element 4/6 is 1196933248
Element 5/6 is 201354124

Press any key to continue . . .
代码:

#包括
#包括
使用名称空间std;
int*createArray(int大小)
{
int*newArray;
newArray=newint[size];
对于(int i=0;icout问题是您正在从dblArraySize返回newArray,但从未使用它。您从未修改mainArray

 dblArraySize(mainArray,size);
应该是:

 mainArray = dblArraySize(mainArray,size);

另请注意:您忘记释放原始数组的内存。

问题是您正在从dblArraySize返回新数组,但从未使用它。您从未修改mainArray

 dblArraySize(mainArray,size);
应该是:

 mainArray = dblArraySize(mainArray,size);

另请注意:您忘记释放原始数组的内存。

您可以使用
new int[size*2]()
进行值初始化(int变为0),跳过第二个循环所有元素。Ohhh,将新数组初始化为零,然后我只需要一个循环就可以将旧数组移动过来。很好,谢谢。您可以使用
new int[size*2]()
对值进行初始化(int变为0)跳过第二个循环所有元素。哦,将新数组初始化为零,然后我只需要一个循环就可以移动旧数组。太好了,谢谢。