在 C++ 中为大小为 n 的数组的前 m 个元素赋值
Assign value to the first m elements of an array of size n in C++
我在全局范围(main()
函数之外)声明了一个大小为 n
的数组,在 main()
中我需要将第一个 [=15] 分配给它=] (m < n
) 值。我该如何处理?
#include <iostream>
using namespace std;
int array[50];
int main()
{
array = {1,2,3,4,5}; //can not execute, error
return 0;
}
我得到的错误:
assigning to an array from an initializer list
如果您尝试使用一些初始值来初始化数组,则必须在初始化时立即执行此操作,而不是在初始化之后。
#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;
}
我在全局范围(main()
函数之外)声明了一个大小为 n
的数组,在 main()
中我需要将第一个 [=15] 分配给它=] (m < n
) 值。我该如何处理?
#include <iostream>
using namespace std;
int array[50];
int main()
{
array = {1,2,3,4,5}; //can not execute, error
return 0;
}
我得到的错误:
assigning to an array from an initializer list
如果您尝试使用一些初始值来初始化数组,则必须在初始化时立即执行此操作,而不是在初始化之后。
#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;
}