【发布时间】:2021-10-13 19:43:42
【问题描述】:
我使用的是solidity版本pragma solidity 0.8.6;
我有一个这样的结构:
struct Request {
string description;
uint256 value;
address recipient;
bool complete;
uint256 approvalCount;
mapping(address => bool) approvals;
}
当我需要为该结构创建实例时,它会显示此错误:
无法构造包含(嵌套)映射的结构
Request memory newRequest = Request({
description: description,
value: value,
recipient: recipient,
complete: false,
approvalCount: 0
});
当我需要转移时它会显示这个错误:
request.recipient.transfer(request.value);
“发送”和“转移”仅适用于“应付地址”类型的对象,而不适用于“地址”。
有什么问题吗?我该如何解决这个问题?
【问题讨论】:
-
我想到了你应该在 struct Request (address recipient; -> address paid recipient) 中修复的第二个错误
-
@PetrHejda 你对第一个错误有什么看法?