Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.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_Dynamic Memory Allocation - Fatal编程技术网

C++ 在c+中从一个动态数组复制到另一个动态数组+;允许的

C++ 在c+中从一个动态数组复制到另一个动态数组+;允许的,c++,arrays,dynamic-memory-allocation,C++,Arrays,Dynamic Memory Allocation,我有一个数组,它的大小是在运行时确定的 cout<<"Enter size of array: "; cin>>size1; int* scores=new int[size1]; 现在我将旧分数的内容复制到新闻核心: for(int i=0; i<Size1;i++) {newScores[i] = scores[i]; } for(int i=0;inewScores[j]=new int;是一个错误,并且不是必需的。newScores[j]是一个lvlal

我有一个数组,它的大小是在运行时确定的

cout<<"Enter size of array: ";
cin>>size1;
int* scores=new int[size1];
现在我将旧分数的内容复制到新闻核心:

for(int i=0; i<Size1;i++)
{newScores[i] = scores[i];
}

for(int i=0;i
newScores[j]=new int;
是一个错误,并且不是必需的。
newScores[j]
是一个lvlalue
int
,而
new int
返回
int*
。但是您已经不需要分配它了-您在
int*newScores int=new int[newSize1];
表达式中进行了分配


使用可以避免这些麻烦。当您向其中插入元素时,它会自动调整大小(使用
推回
),您不必担心自己会释放内存。

新闻核心[j]=new int;
是一个错误,不需要。
新闻核心[j]
是一个lvlalue
int
,而
new int
返回
int*
。但是您已经不需要分配它了-您在
int*newScores=new int[newSize1];
表达式中进行了分配

您可以通过使用来避免这些麻烦。当您向其中插入元素时(使用
推回
),它会自动调整大小,您不必担心自己会释放内存。

删除这一行

newScores[j]=new int;
删除此行

newScores[j]=new int;


您不需要再次为动态数组分配新的int。此外,当您使用动态数组时,您需要使用delete[]删除内存。您不需要再次为动态数组分配新的int。此外,当您使用动态数组时,您需要使用delete[]删除内存。这不是Java。
新闻核心[j]C++已经不是一个java或C语言了。你只需要创建对象,例如使用<代码> int()/<代码>代替“代码>新INT/CODE >(后者也不会初始化值)。这不是java。<代码> NealStj[j]C++已经不是一个java或C语言了。你只需要创建对象,例如使用<代码> int()/<代码>代替“代码>新的INT/CODE >(后者也会使值未初始化)。这是编译的吗?@ HumamHelfawi Nope,应该用相同的错误来删除。(这是正确的)。对不起,我以为是c#编译了吗?@HumamHelfawi没有,应该会吐出相同的错误(这是正确的)。对不起,我以为是c#我不允许使用向量。然后删除不必要的行。
int*newscoresardyn=newint[newNumberOfScores];如果(newNumberOfScores@SulavTimsina您正在访问旧的
分数
新的NumberOfScores
次-您没有那么多的元素,我是怎么做到的?我没有写过类似分数的东西[nWenumberOfScores]任何地方。我在粘贴箱中粘贴了我的代码。请看一看。我不允许使用vector。然后删除不必要的行。
int*newscoresardyn=newint[newNumberOfScores];如果(newNumberOfScores@SulavTimsina您正在访问旧的
分数
新的NumberOfScores
次-您没有那么多的元素,我是怎么做到的?我没有写过类似分数的东西[nWenumberOfScores]任何地方。我在粘贴箱中粘贴了我的代码。请查看。请查看我的代码。pastebin.com/vnhdyxMt-pastebin.com/5TEvFw2z-pastebin.com/RvMzxJVq请查看我的代码。pastebin.com/vnhdyxMt-pastebin.com/5TEvFw2z-pastebin.com/rvmzxvq
newScores[j]=new int;