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/