gopeshDubey
gopeshDubey

Reputation: 23

Unable to return array in solidity

"Getting an error in below code. Please help me resolve this. How can I return struct array. I want the array in return in 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);
    }

Upvotes: 0

Views: 685

Answers (1)

Ming
Ming

Reputation: 775

You have not initialise empty array of size users_count for these variables:

  1. current_timestamp
  2. user_referrer_address
  3. user_address

To fix it add this code at the start of function

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);

Upvotes: 1

Related Questions