Ошибка: ожидается "," но получена ошибка ";в солидности - PullRequest
0 голосов
/ 06 апреля 2019

Я работаю над zk-доказательствами, но мой код солидности возвратил ошибку, как следует из названия.

Я понятия не имею об этой ситуации, у кого-нибудь есть идеи?

это мой код функции солидности

    function stringToUint256(string memory s) internal pure 
    returns (uint256, bool) {
    bool hasError = false;
    bytes memory b = bytes(s);
    uint256 result = 0;
    uint256 oldResult = 0;
    for (uint i = 0; i < b.length; i++) { // c = b[i] was not needed
        if (b[i] >= 48 && b[i] <= 57) {
            // store old value so we can check for overflows
            oldResult = result;
            result = result * 10 + (uint256(bytes(b[i]) - 48) ; 
            // prevent overflows
            if(oldResult > result ) {
                // we can only get here if the result overflowed and is smaller than last stored value
                hasError = true;
            }
        } else {
            hasError = true;
        }
    }
    return (result, hasError); 
}

1 Ответ

1 голос
/ 06 апреля 2019

Я не знаком с основательностью, но, глядя на код, я думаю, что вам не хватает скобки в следующей строке:

result = result * 10 + (uint256 (bytes (b)[i]) - 48);

Скобки вокруг части (uint ...) неполные. Это может быть причиной синтаксической ошибки: программа не ожидает точку с запятой перед закрывающей скобкой.

...