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类型,再销毁。
  • 相关阅读:
    UVA 11198 Dancing Digits
    UVA 10085 The most distant state
    UVA 321 The New Villa
    UVA 10422 Knights in FEN
    poj2876
    poj2895
    poj2914
    poj2892
    poj2941
    LD SDK LDCControlDll 中 CXMLFile的进一步使用方法,建议以后改进
  • 原文地址:https://www.cnblogs.com/FollowWinds/p/10492886.html
Copyright © 2011-2022 走看看