【发布时间】:2017-09-05 04:43:21
【问题描述】:
我创建了一个结构数组,然后尝试获取数组中每个帐户的值。但是我在传递包含msg.sender 的地址变量时使用数组失败了,并且该类型不能明显地转换为uint256。我该怎么做?
【问题讨论】:
-
欢迎来到 SO!请添加一些代码,这样我们就可以看到您到目前为止所做的尝试。现在很难说错误可能在哪里。
标签: solidity
我创建了一个结构数组,然后尝试获取数组中每个帐户的值。但是我在传递包含msg.sender 的地址变量时使用数组失败了,并且该类型不能明显地转换为uint256。我该怎么做?
【问题讨论】:
标签: solidity
从 Solidity v0.8 开始,您不能再从 address 显式转换为 uint256。
您现在可以使用:
uint256 i = uint256(uint160(address(msg.sender)));
function f(address a) internal pure returns (uint256) {
return uint256(uint160(a));
}
【讨论】:
你可以显式地转换它:
uint256 i = uint256(msg.sender);
function f(address a) constant returns (uint256) {
return uint256(a);
}
【讨论】: