«Push» недоступен в байтах32 [], память из памяти [дубликат]

Я пытаюсь выполнить следующий пример, указанный в документации, используя solidity 0.4

pragma solidity ^0.4.0;
contract C {
    uint[] data1;
    uint[] data2;

    function appendOne() {
        append(data1);
    }

    function appendTwo() {
        append(data2);
    }

    function append(uint[] storage d) {
        d.push(1);
    }
}

Но я получаю ошибку:

  

Ошибка: местоположение должно быть памятью для общедоступных функций (удалите ключевое слово «storage»).

Когда я удаляю ключевое слово хранилища, я получаю еще одну ошибку:

  

Ошибка: член «push» недоступен в uint256 [] памяти за пределами хранилища.               d.push (1);

Любое решение?

5 голосов | спросил gkrishna 18 J0000006Europe/Moscow 2017, 19:21:55

0 ответов


Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132