0

“在下面的代码中出现错误。请帮我解决这个问题。我怎样才能返回结构数组。我希望数组以solidity 0.6.0 作为回报”

    pragma solidity >=0.4.23 <0.6.0;

    function get_last24_hours_users()
    public
    view
    returns (
        uint256[] memory current_timestamp,
        address[] memory user_referrer_address,
        address[] memory user_address
    )
    {
    for (uint256 i = 0; i < users_count; i++) {
        User memory user = user[i];
        current_timestamp[i] = user.current_timestamp;
        user_referrer_address[i] = user.user_referrer_address;
        user_address[i] = user.user_address;
    }
    return (current_timestamp, user_referrer_address, user_address);
    }
4

1 回答 1

1

您还没有users_count为这些变量初始化空数组:

  1. current_timestamp
  2. user_referrer_address
  3. user_address

要修复它,请在函数开头添加此代码

uint[] memory current_timestamp = new uint[](users_count);
address[] memory user_referrer_address = new address[](users_count);
address[] memory user_address = new address[](users_count);
于 2021-03-20T18:44:33.683 回答