我有一个结构购买,我在其中放置了一系列付款。但是,当我尝试在我的makePayment
方法中添加新的支付数组时,我从solidity 编译器返回一个错误:“内部编译器错误:将类型struct Payment memory[] memory 复制到尚不支持的存储。” 当我将 mayment 数组更改为storage
ormemory
时,我得到了同样的错误。我在下面添加了相关代码。
有可能做我想做的事情吗?我在文档中没有看到任何明确说明这是不可能的内容,但我也没有看到任何示例在做我想做的事情。:|
struct Payment {
address maker;
uint amount;
}
struct Purchase {
uint product_id;
bool complete;
Payment[] payments;
}
Purchase[] purchases;
function makePayment(uint product_id, uint amt, uint purchase_id) returns (bool) {
Payment[] payments;
payments[0] = Payment(address, amt);
purchases[purchase_id] = Purchase(product_id, false, payments);
}