Kann ein Array weitergegeben werden, wenn ein Vertrag einen neuen Vertrag erstellt? Insbesondere ein Array von Adressen.
address[] verifiedUsers;
new generatePOItokens(verifiedUsers);
Ja.
Hier ist ein Beispiel, bei dem 2 Adressen angenommen werden:
contract C {
address[] public verifiedUsers;
function C(address[] addr) {
verifiedUsers.push(addr[0]);
verifiedUsers.push(addr[1]);
}
}
contract D {
address[] addr;
address cAddr;
function D() {
addr.push(0xa);
addr.push(0xb);
cAddr = new C(addr);
}
function getCaddresses(uint index) returns(address) {
return C(cAddr).verifiedUsers(index);
}
}
Geben Sie im Solidity-Browser den obigen Code ein und klicken Sie dann auf Erstellen für D. Klicken Sie getCaddresses
mit einem Wert von 0 oder 1 auf und Sie sehen die entsprechende gespeicherte Adresse.