【发布时间】:2020-11-20 00:47:54
【问题描述】:
我正在使用 npm 安装的 Solc 版本 0.7.0。当我尝试创建包含映射的 Struct 时,收到错误消息:“无法构造包含(嵌套)映射的结构。”
请检查代码:
// SPDX-License-Identifier: MIT
pragma solidity 0.7.0;
contract Test {
struct Request {
uint256 value;
mapping(address => bool) approvals;
}
Request[] public requests;
...
function createRequest(
uint256 value
) public {
Request memory newRequest = Request({// here the compiler complains
value: value
});
requests.push(newRequest);
}
}
当我使用旧版本的 solc 时,代码编译没有问题。
提前谢谢你!
【问题讨论】:
-
你可以参考这个ethereum.stackexchange.com/a/97883/68718以获得更好的清晰度
标签: struct mapping blockchain ethereum solidity