Solidity 智能合约抛出一个错误"send"并且"transfer"仅适用于 "address payable" 类型的对象,而不适用于"address"



下面是抛出错误的函数

function transferEther(address rec,uint _amount) public payable {
  address(rec).transfer(_amount);
    }

我得到以下错误:

TypeError:"send"one_answers";transfer"仅可用于"addresspayable"类型的对象,而不是"address"类型的对象。地址(rec) .transfer (_amount);^-------------------^

变量rec不是payable,因此不能转移值。下面是固定的版本:

function transferEther(address payable rec, uint _amount) public payable {
    rec.transfer(_amount);
}

相关内容