Ethereum 返回实体结构数组

Ethereum 返回实体结构数组,ethereum,solidity,smartcontracts,Ethereum,Solidity,Smartcontracts,这是我的合同代码。在这里,我试图存储特定旅行的坐标。在存储信息时,合同执行良好。但是当我检索数据时,它应该给出坐标数组。但这是一个错误 原因:“uint256类型的数据不足” 我错过了什么。有没有其他方法可以实现我在这里尝试的目标 附言:我是刚接触“坚固”的 第一个返回的结构不直接受Solidity支持。相反,您需要返回结构中的每个元素,如下所示 Function xyz(uint256 _value) returns(uint256 User.x, uint256 User.y) public

这是我的合同代码。在这里,我试图存储特定旅行的坐标。在存储信息时,合同执行良好。但是当我检索数据时,它应该给出坐标数组。但这是一个错误

原因:“uint256类型的数据不足”

我错过了什么。有没有其他方法可以实现我在这里尝试的目标


附言:我是刚接触“坚固”的

第一个返回的结构不直接受Solidity支持。相反,您需要返回结构中的每个元素,如下所示

Function xyz(uint256 _value) returns(uint256 User.x, uint256 User.y)
public {}
但是还有一个实验性的特性可以帮助您返回struct。您只需在第一行pragma之后添加以下内容

pragma experimental ABIEncoderV2;
然后继续你的代码。这应该在不更改代码的情况下工作


Abinecoderv2返回结构的一个例子可以在这里找到,但在实体中不可能返回结构数组

在哪里可以找到
ABIEncoderV2
支持的功能列表?更新了我的答案,并提供了指向ABIEncoderV2参考实现的链接
pragma experimental ABIEncoderV2;