BSC 合约 Remix 出现类型错误

2 solidity remix bep20

我有这个错误“TypeError:返回参数类型地址不能隐式转换为预期类型(第一个返回变量的类型)应付地址。 --> Driven.sol:233:16: | 233 | return msg.sender; | ^^ ^^^^^^^^"

对于以下函数

abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}
Run Code Online (Sandbox Code Playgroud)

请帮忙!

Pet*_*jda 6

从 Solidity 0.8 开始,msg.sender就不再是payable这样了。您需要先将其投射到payable

function _msgSender() internal view virtual returns (address payable) {
    return payable(msg.sender); // added payable
}
Run Code Online (Sandbox Code Playgroud)

或者您可以只退货address(无需付费):

function _msgSender() internal view virtual returns (address) {  // removed payable
    return msg.sender;
}
Run Code Online (Sandbox Code Playgroud)