Solidity-Type地址不能转换为uint256类型

时间:2017-04-10 08:20:46

标签: solidity

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

2 个答案:

答案 0 :(得分:6)

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

您现在可以使用:

uint256 i = uint256(uint160(address(msg.sender)));
function f(address a) internal pure returns (uint256) {
  return uint256(uint160(a));
}

答案 1 :(得分:3)

您可以明确地投射它:

uint256 i = uint256(msg.sender);
function f(address a) constant returns (uint256) {
    return uint256(a);
}