首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError:类型uint256[4]内存不能隐式转换为预期的uint256[]内存,但它们都是uint256吗?

TypeError:类型uint256[4]内存不能隐式转换为预期的uint256[]内存,但它们都是uint256吗?
EN

Ethereum用户
提问于 2022-08-30 01:35:01
回答 1查看 77关注 0票数 1

我试图使一个函数更有效,但得到以下错误:

代码语言:javascript
复制
TypeError: Type uint256[4] memory is not implicitly convertible to expected type uint256[] memory.

这是我的职责:

代码语言:javascript
复制
function requestUnstake(uint _stakeIndexNo) public returns(bool, uint) {
    AllUserStakedTimestamp storage allUserStakedTimestamp = allUserStakes[msg.sender];
    uint[] memory prm = [
        allUserStakedTimestamp._epochDuration[_stakeIndexNo], // interval
        allUserStakedTimestamp._timeOfStake[_stakeIndexNo],   // time at stake
        allUserStakedTimestamp._timesOfRelease[_stakeIndexNo],// time release
        allUserStakedTimestamp._rewardPerCycle[_stakeIndexNo] // reward per cycle
    ];

有解决办法吗?

EN

回答 1

Ethereum用户

回答已采纳

发布于 2022-08-30 01:58:25

错误告诉您“我不能隐式地为您创建这个数组”。

提示是您需要显式声明它,如下所示(将长度4放在初始化中):

语法

的基本示例

代码语言:javascript
复制
uint[4] memory balance = [uint(1), 2, 3, 4];

你的案子

所以你需要这个:

代码语言:javascript
复制
uint[4] memory prm = [
        allUserStakedTimestamp._epochDuration[_stakeIndexNo], // interval
        allUserStakedTimestamp._timeOfStake[_stakeIndexNo],   // time at stake
        allUserStakedTimestamp._timesOfRelease[_stakeIndexNo],// time release
        allUserStakedTimestamp._rewardPerCycle[_stakeIndexNo] // reward per cycle
    ];
票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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