My solution – changes made only to the updateBalance function:
pragma solidity 0.8.3;
contract MemoryAndStorage {
mapping(uint => User) users;
struct User{
uint id;
uint balance;
}
function addUser(uint id, uint balance) public {
users[id] = User(id, balance);
}
function updateBalance(uint id, uint balance) public {
//User memory user = users[id];
//user.balance = balance;
users[id].balance = balance; //Updated statement
}
function getBalance(uint id) view public returns (uint) {
return users[id].balance;
}
}