solidity智能合约implicit conversion异常

2019-08-01 11:21:53 浏览数 (2)

问题场景

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

代码:

代码语言:javascript复制
require(tokenContract.balanceOf(this) >= _numberOfTokens);(issue is here)

错误信息:

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

即提示:

代码语言:javascript复制
implicit conversion from contract DappTokenSale to address

解决方案

使用address(this)替代this。

代码语言:javascript复制
require(tokenContract.balanceOf(address(this)) >= _numberOfTokens);(issue is here)

原文链接:https://www.choupangxia.com/2019/07/16/solidity智能合约implicit-conversion异常/


0 人点赞