BSC 合约 Remix 上的类型错误

问题描述

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

用于以下功能

 stage('Build autority-service'){ steps { dir('C:\\Program Files (x86)\\Jenkins\\workspace\\C2Project\\C2\\autority-service') {
    bat "sudo composer update" 
    bat "sudo composer dump-autoload"
    bat "sudo composer install"
    sh "PHP artisan key:generate"
    bat "PHP artisan cache:clear"
    bat "PHP artisan config:clear"
    bat "PHP artisan migrate"
    bat "PHP artisan db:seed" } } }

请帮忙!

解决方法

从 Solidity 0.8 开始,msg.sender 不再是 payable。您需要先将其转换为 payable

function _msgSender() internal view virtual returns (address payable) {
    return payable(msg.sender); // added payable
}

或者您可以只返回 address(不可支付):

function _msgSender() internal view virtual returns (address) {  // removed payable
    return msg.sender;
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...