代码之家  ›  专栏  ›  技术社区  ›  Ferit

调用映射getter时Solidity函数错误的参数数无效

  •  0
  • Ferit  · 技术社区  · 6 年前

    mapping(address => uint[]) public myMapping

    自动创建一个getter。不过,当我这样称呼他: myMapping(anAddress)

    错误:Solidity函数的参数数目无效

    怎么解决这个问题?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Ferit    6 年前

    创建的getter是 myMapping(anAddress, anIndex) myMapping(anAddress) . 所以不可能一次得到所有的数组。相反,调用者应该提供一个索引作为第二个参数,以便在提供的索引处获取元素。

    假设uint数组有四个元素 anAddress

    myMapping(anAddress, 2) 返回5。以及 myMapping(anAddress, 3) 返回7。