Arrays 将字符串以实体形式推入结构中的数组

Arrays 将字符串以实体形式推入结构中的数组,arrays,function,struct,solidity,Arrays,Function,Struct,Solidity,我有一个坚固的结构,定义如下: struct Batch{ address payable owner; address payable[] precedentsOwners; uint[] precedentsBatches; } 我想创建一个函数,允许我将所有者列表附加到此结构,但我得到了很多错误。。。有没有办法做到这一点 非常感谢。您可以使用push()array方法将项目添加到存储阵列中 请注意,数组是应付地址类型,因此如果要传递常规的地址(请参阅appendT

我有一个坚固的结构,定义如下:

struct Batch{
    address payable owner;
    address payable[] precedentsOwners;
    uint[] precedentsBatches;
}
我想创建一个函数,允许我将所有者列表附加到此结构,但我得到了很多错误。。。有没有办法做到这一点

非常感谢。

您可以使用
push()
array方法将项目添加到存储阵列中

请注意,数组是
应付地址
类型,因此如果要传递常规的
地址
(请参阅
appendToOwners()
的参数),则需要首先将其强制转换为
应付地址

pragma solidity ^0.8;

contract MyContract {
    struct Batch{
        address payable owner;
        address payable[] precedentsOwners;
        uint[] precedentsBatches;
    }
    
    Batch public myBatch;
    
    function appendToOwners(address _newOwner) external {
        myBatch.precedentsOwners.push(payable(_newOwner));
    }
}

谢谢你,彼得!我会让你知道它是否有效!