在C++中为大小为n的数组的前m个元素分配值

3

我在全局范围(main()函数外部)声明了一个大小为n的数组,而在main()函数内部,我需要将其赋值为前m个(m < n)值。我该如何处理?

#include <iostream>
using namespace std;

int array[50];

int main()
{
    array = {1,2,3,4,5};  //can not execute, error
    return 0;
}

The error I am getting:

assigning to an array from an initializer list
1个回答

4
如果您想使用一些初始值来初始化数组,那么您必须在初始化时立即执行此操作,而不是在初始化之后。
#include <iostream>
using namespace std;
int main(){
   int array[50] = {1,2,3,4,5};
   return 0;
}

但是如果你真的需要复制数值,最简单的方法就是逐个复制数值。

#include <iostream>
using namespace std;
int array[50];

int main(){
   int temp[5] = {1,2,3,4,5};
   for (int i = 0; i < 5; i++) 
       array[i] = temp[i];
   return 0;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接