下面的代码为什么包含错误(ensure_loaded/1
)。
ParserError: Expected identifier but got '='
如果我将contract Test {
struct Box {
uint size;
}
Box public box;
box.size = 3; //<-- error here
constructor() public {
}
}
放到box.size = 3;
中就可以了!
constructor
答案 0 :(得分:2)
该语法不允许在合同一级进行分配。但是它允许声明状态变量和these can contain an initializer。因此,您可以使用
对其进行初始化Box public box = Box({ size: 3 });
或
Box public box = Box(3);