代码之家  ›  专栏  ›  技术社区  ›  Matt

警告:不推荐使用从地址类型继承的协定成员“balance”。坚固性

  •  3
  • Matt  · 技术社区  · 6 年前

    警告:不推荐使用从地址类型继承的协定成员“balance”。将协定转换为“地址”类型以访问成员,例如使用“地址(contract.balance)”。

    我使用Remix编辑器在solidity中收到这个警告。

    这是代码块:

    function getSummary() public view returns(
        uint, uint, uint, uint, address
    ){
        return (
            minimumContribution,
            this.balance, // This is the warning line.
            requests.length,
            approversCount,
            manager
        );
    }
    

    我试着遵循警告的建议:

    function getSummary() public view returns(
        uint, uint, uint, uint, address
    ){
        return (
            minimumContribution,
            address(contract).balance,
            requests.length,
            approversCount,
            manager
        );
    }
    

    但这行不通。

    2 回复  |  直到 6 年前
        1
  •  3
  •   Adam Kipnis    6 年前

    balance address address(this).balance

    function getSummary() public view returns(
        uint, uint, uint, uint, address
    ){
        return (
            minimumContribution,
            address(this).balance,
            requests.length,
            approversCount,
            manager
        );
    }
    
        2
  •  0
  •   Benni Russell    6 年前

    this address

    address contractAddress = this;
    
    function getSummary() public view returns(
        uint, uint, uint, uint, address
    ){
      return (
        minimumContribution,
        contractAddress.balance,
        requests.length,
        approversCount,
        manager
      );
    }
    
    推荐文章