【问题标题】:Solidity ParserError: Expected ';' but got '{'Solidity ParserError:预期的';'但得到了'{'
【发布时间】:2021-02-26 15:34:43
【问题描述】:

使用版本0.6.0

pragma solidity ^0.6.0;

contract Test {
    function sendValue(address payable recipient, uint256 amount) external {
        (bool success, ) = recipient.call{ value: amount }("");
    }
}

Test.sol:5:42: ParserError: Expected ';'但得到 '{' (bool success, ) = recipient.call{ value: amount }(""); ^

为什么会出现这个错误?

【问题讨论】:

    标签: solidity


    【解决方案1】:

    您正在使用 Solidity 0.7 中引入但在 0.6 中还无效的语法。

    对于 0.6,使用这个:

    (bool success, ) = recipient.call.value(amount)("");
    

    来源和更多信息:

    【讨论】:

      【解决方案2】:

      将此添加到代码的顶部

      pragma solodity >= 0.6.0 < 0.9.0;
      

      这将支持 0.6 以上和 0.9 以下的语法

      【讨论】:

        猜你喜欢
        • 2022-08-12
        • 2021-08-20
        • 2022-12-11
        • 2022-07-24
        • 2021-12-11
        • 2019-01-10
        • 2020-10-24
        • 1970-01-01
        • 2022-12-17
        相关资源
        最近更新 更多