Поведение при перегрузке функции твердости

Мой контракт такой, вопрос в том, почему foo(uint256 n) не работает (нет возврата значения). Если контракт просто hava foo(uint256 n), он работает.

contract OverloadContract {
// working
function foo(uint256 n, uint256 m) public pure returns (uint256) {
    return n + m;
}

// not working ?
function foo(uint256 n) public pure returns (uint256) {
    return n;
}

// working
function foo() public pure returns (uint256) {
    return 1;
}

// working
function foo(uint256 i, uint256 n, uint256 m) public pure returns (uint256) {
    return i + n + m;
}
}

person yangbinnnn    schedule 14.08.2018    source источник
comment
Вы тестируете это в Remix? Я могу воспроизвести это там, но когда я вызываю функцию напрямую через eth_call (интерфейс JSON-RPC), функция работает правильно.   -  person user94559    schedule 14.08.2018
comment
Фактически, в Remix, тестируя локальный экземпляр ganache, я вижу, что правильное значение возвращается на вкладке сети, так что это похоже на ошибку на уровне пользовательского интерфейса.   -  person user94559    schedule 14.08.2018
comment
Я бы порекомендовал записать проблему: github.com/ethereum/remix-ide.   -  person user94559    schedule 14.08.2018
comment
Да, пишу в Remix-ide, Спасибо @smarx, заполню вопрос   -  person yangbinnnn    schedule 14.08.2018


Ответы (1)