问题描述
我的solc版本:
"solc": "^0.7.1",
当我尝试构造一个包含映射的结构时,出现此错误: “无法构造包含(嵌套)映射的结构”
这是我的验证码。
Campaign.sol
contract Campaign {
struct Request {
...
// I guess this might cause an error
mapping(address => bool) approvals;
}
constructor(uint256 minimum,address creator) {
...
}
function createRequest(
string memory description,uint256 value,address payable recipient
) public onlyManager {
Request memory newRequest = Request({
// Here the compiler complains
});
}
...
如果我想在我的Request结构中放置一个映射,还有其他方法吗? 谢谢
解决方法
从 0.7.0 开始,请执行以下操作:
ggplot(k[j])+
ggtitle("Muestra 1") +
geom_path(mapping = aes(Tiempo,td,colour = "Talón Derecho",group = 5))+
geom_path(mapping = aes(Tiempo,pd,colour = "Puntera Derecha",group = 5)) +
geom_path(mapping = aes(Tiempo,ti,colour = "Talón Izquierdo",pi,colour = "Puntera Izquierda",group = 5))
}
,
我想我找到了答案here
我将映射放在struct
之外,错误消失了:
contract Campaign {
struct Request {
//...
}
mapping(address => bool) approvals;
我不确定它能否完全解决问题。如有其他问题,我会更新。