c++ - 一次设置多个数组索引?复合文字?

标签 c++ c arrays

index = {27,27,27,27,27}; //as many as rootsize

当我在一个函数中尝试这个时,编译器给我一个错误。索引在同一个文件中全局初始化:

int index[5];

错误:预期的表达 索引 = {27,27,27,27,27};//和rootsize一样多

这不合法吗?我如何一次将数组设置为某些值?我需要一个循环吗?

最佳答案

你不能直接赋值给一个数组。但是,您可以从复合文字 memcpy() 获取它:

#include <string.h>

memcpy(index, (int [5]){ 27, 27, 27, 27, 27 }, sizeof index);

请注意,像这样的复合文字是 C 的特性,而不是 C++。

关于c++ - 一次设置多个数组索引?复合文字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30116159/

相关文章:

java - Java 和 C 之间的远程过程调用

c - Strsep 在我的 Mac OS X x86_64 系统上返回 32 位指针

java - 没有找到合适的构造函数 - 对于飞行

c - strcpy 错位 __strcpy_sse2_unaligned()

python - 如何在数组中找到两个相似数字的索引?

java - 如何使用 Retrofit 发布多个 JSON 数组(Android、Java)

c++ - 在完美转发中 `decltype(std::forward<Args>(args))...` 和 Args&& 有什么区别

c++ - 一些 googletest 宏的覆盖分析显示分布在多行时覆盖不完整 - 为什么?

java - 正弦函数的结果在微软和 Java/Linux 之间不同

c++ - 如何将列表中的所有元素移动到数组或 vector 或其他任何内容