私は構造体のPurchaseを用意しています。しかし、makePayment
メソッドで新しいペイメント配列を追加しようとすると、solidityコンパイラからエラーが返されます。「内部コンパイルエラー:タイプメモリのペイメントメモリ[]メモリをまだサポートされていないストレージにコピーしています。 mayment配列をstorage
またはmemory
に変更すると、同じエラーが発生します。私は以下の関連コードを追加しました。構造体の配列を初期化するにはどうすればいいですか
私が頑張ってやろうとしていることは可能でしょうか?ドキュメントでは不可能であると明示的に言及しているものは見当たりませんが、私がやろうとしている事例はありません。 :|
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);
}
私は取引に十分なガスを使用していなかったので、これが起こっている可能性があります。 – unflores
[Ethereum SEベータ](http://ethereum.stackexchange.com/)がありますか? – default