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类型,再销毁。

 

转载于:https://www.cnblogs.com/FollowWinds/p/10492886.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值