solidity开发过程问题解决总结(持续更新)

1.calldatauint256[] memory不写报错

function returnAllTodos(uint[] calldata indexes) external view
   returns (
       uint256[] memory,
       bytes32[] memory,
       address[] memory,
       bool[] memory,
       uint256[] memory
   )

通过阅读官方文档:存在第三种数据位置, calldata ,这是一块只读的,且不会永久存储的位置,用来存储函数参数。 外部函数的参数(非返回参数)的数据位置被强制指定为 calldata ,效果跟memory 差不多。
2.selfdestruct报错

TypeError: Invalid type for argument in function call. Invalid implicit conversion from address to address payable requested.
    selfdestruct(owner);
改成:selfdestruct(msg.sender)
function() external {//fallback///////must be external //public
    revert();
  }

你可能感兴趣的:(solidity,区块链)