【问题标题】:Expected identifier but got 'payable'预期标识符,但得到“应付”
【发布时间】:2019-02-23 14:20:10
【问题描述】:

以下是我的代码:

    pragma solidity >=0.4.17;

contract Lottery {
    address public manager;
    address payable [] public players;

    constructor () public {
        manager = msg.sender;
    }

    function enter() public payable {
        require(msg.value > 0.01 ether);
        players.push(msg.sender);
    }

    function random() private view returns (uint) {
        return uint256(keccak256(abi.encodePacked(block.difficulty, now, players)));
    }

    function pickWinner() public restricted {
        require(msg.sender == manager);
        uint256 index = random() % players.length;
        players[index].transfer(address(this).balance);
        players.length = 0;
    }

    modifier restricted() {
        require(msg.sender == manager);
        _;
    }

}

此代码在 Remix 编辑器中运行良好。 但是在VS代码中出现如下错误:

预期的标识符,但得到“应付”

【问题讨论】:

    标签: blockchain ether


    【解决方案1】:

    我怀疑您正在运行不同版本的 Solidity 编译器。

    作为https://solidity.readthedocs.io/en/v0.5.3/,当前的solidity版本是0.5.3

    【讨论】:

      猜你喜欢
      • 2022-07-24
      • 2014-06-01
      • 2019-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-14
      • 1970-01-01
      相关资源
      最近更新 更多