小编har*_*rsh的帖子

如何可靠地返回地址数组?

我正在创建一个可靠的智能合约 ^0.5.1,其中出现错误。

给出错误。

数据位置必须是函数中返回参数的内存,但没有给出。

在下面的函数中,我收到错误。

function getCitizen()public returns(address[]){
    return citizenArray;
}
Run Code Online (Sandbox Code Playgroud)

到目前为止我尝试过的智能合约。

  pragma solidity ^0.5.1;
Run Code Online (Sandbox Code Playgroud)

契约公民{

struct Citizens{

    uint age;
    string fName;
    string lName;

}

mapping(address => Citizens) citizenMap;

address [] citizenArray;

function setCitizen(address _address,uint _age,string memory _fName,string memory _lName) public{

    //creating the object of the structure in solidity 
     Citizens storage citizen=citizenMap[_address];


    citizen.age=_age;
    citizen.fName=_fName;
    citizen.lName=_lName;

    citizenArray.push(_address) -1;

}

function getCitizen(address _address) public pure returns(uint,string memory ,string memory ){
    return(citizenMap[_address].age,citizenMap[_address].fName,citizenMap[_address].lName);

}

function getCitizenAddress()public returns(address[]){
    return citizenArray;
}

}
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助。

solidity smartcontracts

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

smartcontracts ×1

solidity ×1