«i ++» для l oop не может быть достигнуто в приложении Solidity - PullRequest
0 голосов
/ 11 июля 2020
pragma solidity >=0.4.21;

contract Voting {
    bytes32[] public candidateList;

    constructor(uint totalSupply, uint price, bytes32[] memory candidateNames) public {
        candidateList = candidateNames;
    }

    function voteForCandidate(bytes32 candidate, uint voteTokens) public {
        uint index = indexOfCandidate(candidate);
 
    }
    function indexOfCandidate(bytes32 candidate) public view returns(uint){
        for (uint i = 0; i < candidateList.length; i++){  // warning: "i++" -> Unreachable code.
            if(candidate==candidateList[i]){
                return i;
         }
         return uint(-1);
        }
    }
}

candidateList при развертывании контракта должно быть 3 элемента, а в candidateList в indexOfCandidate только 1 элемент, поэтому приложение не может нормально работать. Кто может мне помочь, пожалуйста?

...