Солидность по коду VS - PullRequest
       18

Солидность по коду VS

0 голосов
/ 13 декабря 2018

Почему код VS дает мне ошибки в коде Solidity, тогда как полученный код отлично разворачивается поверх ремикса?

Снимок экрана

Screen Shot

Здесь адрес [16] показывает ошибку.Принимая во внимание, что этот же код работает на ремиксе.

pragma solidity >=0.4.0 <0.6.0;

contract Adoption {

address[16] public adopters;

function adopt(uint petID) public returns (uint) {
    require(petID >= 0 && petID <= 15);
    adopters[petID] = msg.sender;
    return petID;
    }

function getAdopters() public view returns (address[16]) {
    return adopters;
    }
}

1 Ответ

0 голосов
/ 17 декабря 2018

Причина ошибки, потому что вы не предоставили memory тип хранилища для адреса возвращаемого типа [16], например: function getAdopters() public view returns (address[16] memory) { return adopters; }

И для вашего вопроса " Почемуесли код VS дает мне ошибки в коде Solidity, тогда как полученный код отлично разворачивается поверх remix?"

Ответ: Убедитесь, что выбран компилятор 0.5.0+commit.1d4f565a.Emscripten.clang или новееверсия для компиляции кода в remix ide.Если вы выберете эту версию компилятора, вы получите ту же ошибку, что и VSCode в remix ide.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...