我正在使用通过npm安装的Solc版本0.7.0。当我尝试创建包含映射的结构体时,收到了以下错误消息:“无法构造包含(嵌套)映射的结构体。”
请检查代码:
// 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时,代码可以编译而无需任何问题。
提前致谢!