以下是我的代码:
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代码中得到如下错误:
应为标识符,但获取的是“payable”
发布于 2019-02-26 22:55:50
我怀疑你正在运行一个不同版本的固态编译器。
作为https://solidity.readthedocs.io/en/v0.5.3/,当前版本的固态是0.5.3
https://stackoverflow.com/questions/54842557
复制相似问题