Übergeben Sie ein Array, wenn ein Vertrag einen neuen Vertrag erstellt

Kann ein Array weitergegeben werden, wenn ein Vertrag einen neuen Vertrag erstellt? Insbesondere ein Array von Adressen.

address[] verifiedUsers;


new generatePOItokens(verifiedUsers);

Antworten (1)

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 getCaddressesmit einem Wert von 0 oder 1 auf und Sie sehen die entsprechende gespeicherte Adresse.