【问题标题】:Solidity-Type address not convertible to type uint256Solidity-Type 地址不可转换为 uint256 类型
【发布时间】:2017-09-05 04:43:21
【问题描述】:

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

【问题讨论】:

  • 欢迎来到 SO!请添加一些代码,这样我们就可以看到您到目前为止所做的尝试。现在很难说错误可能在哪里。

标签: solidity


【解决方案1】:

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

您现在可以使用:

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

【讨论】:

    【解决方案2】:

    你可以显式地转换它:

    uint256 i = uint256(msg.sender);
    

    function f(address a) constant returns (uint256) {
        return uint256(a);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-06
      • 2022-04-26
      • 2020-02-04
      • 2018-08-20
      • 2022-11-22
      • 1970-01-01
      • 2022-11-22
      • 1970-01-01
      相关资源
      最近更新 更多