Contract-Deployment

為什麼我不能在部署時從建構子為數組賦值

  • November 27, 2021
pragma solidity 0.8.10;
contract test{

   address[] wallet;


constructor() public {
   wallet.push(0xd8b934580fcE35a11B58C6D73aDeE468a2833fa8);
}

這會編譯但會出現部署錯誤(關於未標記為應付函式)

為什麼從根本上會發生這種情況以及在構造過程中正確執行數組分配的方法是什麼。

感謝@hroussille 的評論——但是,是的,只需將功能標記為payable 就可以了。

pragma solidity 0.8.10;
contract test{

   address[] wallet;   

constructor() payable public  {
   wallet.push(0xd8b934580fcE35a11B58C6D73aDeE468a2833fa8);
}

引用自:https://ethereum.stackexchange.com/questions/114237