【发布时间】:2018-08-14 09:14:50
【问题描述】:
我的合同是这样的,问题是为什么foo(uint256 n) 不起作用(没有价值回报)。如果合约只是有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;
}
}
【问题讨论】:
-
你在 Remix 中测试这个吗?我可以在那里重现它,但是当我通过
eth_call(JSON-RPC接口)直接调用该函数时,该函数工作正常。 -
事实上,在 Remix 中,针对本地
ganache实例进行测试,我可以在网络选项卡中看到正确的值,所以这看起来像是 UI 层中的错误。 -
我建议提交问题:github.com/ethereum/remix-ide。
-
是的,我用 Remix-ide 写这个,谢谢@smarx,我会填一个问题
标签: ethereum solidity contract