function finalizeRequest(uint index) public restricted {
Request storage request = requests[index];
require(request.approvalCount > (approversCount / 2));
require(!request.complete);
request.recipient.transfer(request.value);
request.complete = true;
}
Run Code Online (Sandbox Code Playgroud)
错误行 ---> request.recipient.transfer(request.value);
有人可以帮我解决这个问题吗谢谢
我使用的solidity版本:
pragma solidity >0.4.17 <0.8.0;
Run Code Online (Sandbox Code Playgroud)
如果您使用的编译器早于 0.6,则可以声明recipient
为address payable
而不是address
。如果您使用的编译器大于或等于0.6,则可以使用@Petr Hejda 提供的解决方案。
您需要将其标记request.recipient
为payable
payable(request.recipient).transfer(request.value);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1691 次 |
最近记录: |