Дан*_*еев 2 blockchain solidity smartcontracts
我在文档中找不到有关此表达式的任何信息。关于Ehternaut重入任务有以下代码。
function withdraw(uint _amount) public {
if(balances[msg.sender] >= _amount) {
(bool result,) = msg.sender.call{value:_amount}("");
if(result) {
_amount;
}
balances[msg.sender] -= _amount;
}
}
Run Code Online (Sandbox Code Playgroud)
这是什么_amount;意思?
if(result) {
_amount;
}
Run Code Online (Sandbox Code Playgroud)
这段代码实际上什么也没做。您可以安全地忽略它,因为它与重入漏洞无关。
如果没有提到的代码片段,编译器将发出有关未使用变量的警告result。如果他们没有声明result变量,则会出现另一个关于不检查低级调用结果的警告。如果他们只是将条件块留空 - 是的,另一个关于空块的警告。
所以我最好的猜测是作者只是想清除警告,并选择这种方式来做到这一点。
| 归档时间: |
|
| 查看次数: |
187 次 |
| 最近记录: |