【发布时间】:2019-04-29 05:06:33
【问题描述】:
使用 Solidity ^0.5.0, 我实际上是在尝试实现在 ^0.4.17 中工作的旧代码,但它在 Remix 上引发错误。 我检查了语法和所有内容,但无法发现问题所在。 任何帮助都非常感谢。
pragma solidity ^0.5.0;
contract Lottery{
address public manager;
address[] public players;
constructor() public {
manager = msg.sender;
}
function participate() public payable {
require(msg.value > .01 ether);
players.push(msg.sender);
}
function pseudoRandom() private view returns(uint){
return uint(keccak256(abi.encodePacked(block.difficulty, now, players)));
}
function pickWinner() public {
uint index = pseudoRandom() % players.length;
players[index].transfer(address(this).balance);
}
}
这里是错误信息:
browser/Lottery.sol:22:8: TypeError: Member "transfer" not found or not visible after argument-dependent 在地址中查找。
players[index].transfer(address(msg.sender).balance);
^---------------------^
【问题讨论】:
标签: ethereum solidity smartcontracts