首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从返回string[5]的函数返回string[]数组?

如何从返回string[5]的函数返回string[]数组?
EN

Ethereum用户
提问于 2021-09-03 02:05:38
回答 2查看 104关注 0票数 0

我想知道为什么如果我的函数要返回一个不确定长度的字符串,为什么不能返回一个一定长度的字符串数组。

例如,这个函数不编译

代码语言:javascript
复制
function BindingTypeList() public pure returns(string[]  memory) {
        return ["DocumentTemplate", "Definition", "RepAndWarranty", "Restriction", "Entitlement"];
    }

错误消息是TypeError: Return argument type string memory[5] memory is not implicitly convertible to expected type (type of first return variable) string memory[] memory.

他们似乎在说string[5]returns(string[])不兼容。我一点也不明白。

EN

回答 2

Ethereum用户

回答已采纳

发布于 2021-09-20 02:45:40

如果其他人有这个问题,可以这样做的方法是:

代码语言:javascript
复制
function BindingTypeList() public pure returns(string[]  memory) {
   string[] memory names = new string[5];
   names[0] = "DocumentTemplate";
   names[1] = "Definition";
   ...
   names[4] = "Entitlement";
   return names;
}
票数 1
EN

Ethereum用户

发布于 2021-09-03 04:09:36

您需要在契约中使用pragma experimental ABIEncoderV2;来启用返回字符串数组。

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/109266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档