zoukankan      html  css  js  c++  java
  • solidity 错误记录一下

    remix错误:browser/Untitled.sol:24:24: TypeError: Invalid type for argument in function call. Invalid implicit conversion from address to address payable requested.

              selfdestruct(owner);

    address:一个地址长度为20字节,也就是uint160(以太坊地址也是20字节)。
    address payable:版本0.5.0开始,引入的新地址,应付地址,也是20字节。

    address payable相比address,多了两个成员(函数)transfersend。其中的区别为,普通的address不能发送Ether,而address payable可以发送Ether。

    而且在0.5.0之后,合约不会从地址类型派生,但是合约可以转换为address类型,然后进行address类型相关的操作。
     
     没办法,solidity版本更新太快,各种新特性加进来,或者大改之前已有的特性,wtf,设计者就不能先把核心的玩法设计好吗?加新特性没意见,但是总是干掉老特性就很恶心了。
     
    所以这个错误的解决办法是:
    定义一个address payable类型的变量,然后让合约强转化为address类型,再销毁。
  • 相关阅读:
    抓老鼠啊~亏了还是赚了?
    币值转换
    打印沙漏
    秋季学习总结
    对我影响最大的三位老师
    自我介绍
    第三周作业
    第二周作业
    求最大值及其下标
    PTA编程总结3
  • 原文地址:https://www.cnblogs.com/FollowWinds/p/10492886.html
Copyright © 2011-2022 走看看