关于数组稳定性的问题

时间:2019-03-03 15:13:31

标签: arrays solidity

  1. 在第一张图像中,当我在[]之前添加dnaDigits时收到错误消息。似乎不喜欢为我分配一个值(在本例中为16)。为什么是这样?由于[int]被添加到uint旁边,我不能分配多个值吗?如果需要,错误消息在第二个图像中。另外,我将如何向该变量添加多个元素?我知道的唯一编程语言是R。为此,我要编写c(16, 25, 28)来向变量添加3个元素。

    image 1

    image 3

  2. 为结构创建数组的方式对我来说似乎很混乱,我想知道是否是因为我没有完全理解它。在第三张图片中,我已经编码了如何编码结构数组。将代码放在第一张图片的第15行中的目的是什么?必须先引用僵尸,然后函数中的僵尸似乎仅是引用僵尸(如第二幅图所示)时比较混乱。

    我认为以这种方式设置编码是有原因的,但我不明白。

    image 2

1 个答案:

答案 0 :(得分:0)

  1. uint[] dnaDigits声明了一个未定义大小的数组,因此您不能批量初始化它,因为它是一个大小为0的空数组。

  2. 第二个错误有两个:

a)首先,您需要定义该结构,然后创建其类型的数组:

Struct Zombie{
string name
uint dna
}
Zombie[] zombies;

b),那么您需要在内存中创建一个结构,然后将其添加到数组中

Zombie memory z;
z.name=_name;
z.dna=_dna;
zombies.push(z);