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)