Arrays 2D数组的初始值设定项过多(Arduino IDE)

Arrays 2D数组的初始值设定项过多(Arduino IDE),arrays,matrix,arduino,initializer,Arrays,Matrix,Arduino,Initializer,我目前正在开发一个8x8 LED矩阵程序,遇到了使用8x10矩阵引擎的代码 编辑“A”和“R”是给定的定义字符串: #define A {B00000000,B00111100,B01000010,B01000010,B01000010,B01111110,B01000010,B01000010,B01000010,B00000000} 和#定义R{B00000000、B00111100、B01000010、B01000010、B01000010、B01111100、B01000010

我目前正在开发一个8x8 LED矩阵程序,遇到了使用8x10矩阵引擎的代码

编辑“A”和“R”是给定的定义字符串:

#define A     {B00000000,B00111100,B01000010,B01000010,B01000010,B01111110,B01000010,B01000010,B01000010,B00000000}
#定义R{B00000000、B00111100、B01000010、B01000010、B01000010、B01111100、B010000100、B01000010、B01000010、B01000010、B01000000}

我目前正在尝试更改此行(8x10矩阵阵列)

为此:

const int numPatterns = 16;//this is the number of patterns you want to display
byte patterns[numPatterns][8]={A,R,A,R,A,R,A,R,A,R};// the patterns order
然而,它继续给我一个错误,我试图理解其他语言中2D数组的概念,除了我在这个IDE中的基本经验之外,它似乎不喜欢对2D数组进行任何真正的更改

这是有效的:

#define A {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
#define R {21, 22, 23, 24, 25, 26, 27, 28, 29, 30}

const int numPatterns = 16;//this is the number of patterns you want to display
byte patterns[numPatterns][10]={A,R,A,R,A,R,A,R,A,R,A,R};// the patterns order
将“10”更改为“8”会导致错误消息

这也适用于:

#define A {1, 2, 3, 4, 5, 6, 7, 8}
#define R {21, 22, 23, 24, 25, 26, 27, 28}

const int numPatterns = 16;//this is the number of patterns you want to display
byte patterns[numPatterns][8]={A,R,A,R,A,R,A,R,A,R,A,R};// the patterns order

A和R中每个元素的数量必须适合数组声明中的第二个维度。要减少到8乘8,您还必须将模式中“A”或“R”元素的总数限制为不超过8个。

我已经编辑了我的帖子,希望这现在更有意义。对不起,忘了写什么是“A”和“R”,我怀疑这能解决我的问题,因为您正在重新定义“A”和“R”(我不喜欢不发布它们的定义)帕特里夏把它钉在了头上,你的A和R元素太多了。patterns[numPatterns][8]中的“8”部分表示A和R必须有8个元素,您找到的代码定义了10个元素。@user3739406在8个元素的数组中不能有10个元素那么多。您要么需要保持数组大小,要么重新定义A和R以适应。
#define A {1, 2, 3, 4, 5, 6, 7, 8}
#define R {21, 22, 23, 24, 25, 26, 27, 28}

const int numPatterns = 16;//this is the number of patterns you want to display
byte patterns[numPatterns][8]={A,R,A,R,A,R,A,R,A,R,A,R};// the patterns order