【发布时间】:2023-01-04 11:37:26
【问题描述】:
嗨,Solidity 开发者! 在我面临的一个小问题上,我需要你的帮助。我想修改结构数组中结构的某些元素。我创建了另一个映射 (uint => Struct) 以更快地搜索和修改。我正在使用 **pragma solidity ^0.8.8; ** 顺便一提。
结构:
struct Candidate {
uint candidateId;
string CandidateName;
string party;
uint voteCount;
}
数组和映射:
Candidate[] public candidates;
//store candidates for faster votes
mapping(uint => Candidate) public candidatesMap;
测试候选人并在结构数组中填充一些候选人的构造函数:
//constructor to hard fill candidates
constructor(){
addCandidate(1,"candidate1","party1");
addCandidate(2,"candidate2","party2");
addCandidate(3,"candidate3","party3");
}
获取和返回候选人信息的函数:
//function to get candidate infos
function getCandidateInfo(uint _candidateId) public view returns (uint,
string memory, string memory) {
return(
candidatesMap[_candidateId].candidateId,
candidatesMap[_candidateId].CandidateName,
candidatesMap[_candidateId].party
);
}
**请帮帮我。我一直在这里和那里寻找几天,但找不到解决方案。 **
我在 Remix 中的代码截图:
我试图将 Pragma solidity 版本更改得更高并添加
pragma abicoderv2;
但仍然不起作用。
【问题讨论】: