Mam struct zakupu, w którym umieszczam tablicę płatności. Jednak przy próbie dodania nowej tablicy płatności w metodzie makePayment
pojawia się błąd z kompilatora solidności: "Wewnętrzny błąd kompilatora: Kopiowanie typu struct Pamięć pamięci [] do pamięci nie jest jeszcze obsługiwana." Kiedy zmieniam tablicę maymentów na storage
lub memory
, pojawia się ten sam błąd. Dodałem odpowiedni kod poniżej.Jak zainicjować tablicę w strukturze struct
Czy można zrobić to, co staram się robić solidnie? Nie widzę niczego jawnie mówiącego, że nie jest to możliwe w dokumentacji, ale też nie widzę przykładów robienia tego, co próbuję zrobić. : |
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);
}
Możliwe, że tak się stało, ponieważ nie wykorzystałem wystarczającej ilości gazu do transakcji. – unflores
Czy widzisz, że istnieje [Ethereum SE beta] (http://ethereum.stackexchange.com/)? – default