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