且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

固定性-无效的BigNumber字符串(参数=&Q;值&Q;值=&Q;&Q;代码=INVALID_ARGUMENT VERSION=BigNumber/5.4.2)

更新时间:2022-10-23 16:59:44

尝试在不传递任何值的情况下调用people()函数(从Remix IDE)时发生错误。

由于People[] public people是公共属性,因此它autogenerates是编译期间的getter函数。但是因为它是一个数组,所以getter函数需要一个uint256参数来指定要检索的数组的索引。

当您传递空字符串时,Remix会尝试将其编码到BigNumber实例中,但失败了。只有当您传递数组的(现有)索引时,它才能正常工作:


如果您希望在一次调用中获取整个数组,则需要创建一个单独的getter函数:

function getAllPeople() public view returns (People[] memory) {
    return people;
}