2

我创建了一个结构数组,然后尝试获取数组中每个帐户的值。msg.sender但是我在传递包含并且类型不能明显转换为的地址变量时使用数组失败了uint256。我该怎么做?

4

2 回答 2

21

从 Solidity v0.8 开始,您不能再从addressto显式转换uint256

您现在可以使用:

uint256 i = uint256(uint160(address(msg.sender)));
function f(address a) internal pure returns (uint256) {
  return uint256(uint160(a));
}
于 2021-01-28T21:41:46.290 回答
4

您可以明确地转换它:

uint256 i = uint256(msg.sender);

function f(address a) constant returns (uint256) {
    return uint256(a);
}
于 2017-04-11T09:30:28.310 回答