solidity智能合约implicit conversion异常

问题场景

在使用^0.5.10版本的solidity时,如果使用this关键字会出现以下问题。

代码:

require(tokenContract.balanceOf(this) >= _numberOfTokens);(issue is here)

错误信息:

TypeError: Invalid type for argument in function call. Invalid 
  implicit conversion from contract DappTokenSale to address requested.
    require(tokenContract.balanceOf(this) >= _numberOfTokens);

即提示:

implicit conversion from contract DappTokenSale to address

解决方案

使用address(this)替代this。

require(tokenContract.balanceOf(address(this)) >= _numberOfTokens);(issue is here)

原文链接:https://www.choupangxia.com/2019/07/16/solidity%e6%99%ba%e8%83%bd%e5%90%88%e7%ba%a6implicit-conversion%e5%bc%82%e5%b8%b8/

posted on 2019-07-16 16:07 程序新视界 阅读() 评论() 编辑 收藏

版权声明:本文为secbro原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/secbro/p/11195537.html