Home > Blockchain >  Solidity Js, on function get i get an error as "TypeError: Data location must be "memory&q
Solidity Js, on function get i get an error as "TypeError: Data location must be "memory&q

Time:07-03

`

//SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

contract MyContract{

string value;
constructor() public   {
    value = "MyValue";
}
function get() public returns(string)  {
    return value;
}

function set(string memory _value) public  {
    value = _value;
}


}`

on function get i get an error as TypeError: Data location must be "memory" or "calldata" for return parameter in function, but none was given. i couldnt solve it because the "value" variable is already identified it doesn neew to be memoried

CodePudding user response:

string is a reference type, so you need to specify its data location. In this case, the value is loaded from storage to memory, and then returned from the memory.

function get() public returns(string memory)  {
    return value;
}
  • Related