Solidity

我可以看到一個顯示在solidity 0.6 中使用.arrays 和push(unint x) 方法的範例嗎?

  • April 14, 2020

我很難理解為什麼 push() 方法在使用 Solidity 0.6 的 Remix 上不起作用。

我已閱讀有關數組固定大小和動態大小 文件參考的文件

例如在這段程式碼中:

pragma solidity ^0.6.0;

contract Prova
{

  function prova() public{

     uint[] memory array;
     array.push(4);

  }
}

我總是得到錯誤::

TypeError:成員“push”在 uint256 中不可用

$$ $$儲存之外的記憶體。

有人可以向我展示關於solidity數組的唯一範例。我在學。非常感謝。

您正在嘗試使用.push數組的瞬態記憶體實例。它必須是一個儲存變數。

pragma solidity ^0.6.0;

contract Prova
{
  uint[] public array;

  function prova() public {
     array.push(4);
  }
}

或者,為了咯咯笑:

pragma solidity ^0.6.0;

contract Prova
{
  uint[] public array;

  function prova(uint number) public {
     array.push(number);
  }
}

它是全域聲明的,因此storage是隱含的。我添加了public,以便您可以使用array(uint row).

希望能幫助到你。

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