智能合约编译正常,但随后尖叫 "BigNumber"
Smart Contract compiles fine but then screams about "BigNumber"
编译正常,但在调用“house”时我收到以下错误:
错误:BigNumber 字符串无效 (argument="value", value="", code=INVALID_ARGUMENT, version=bignumber/5.4.1)
有人知道为什么吗?谢谢!
pragma solidity ^0.8.4;
contract Test {
uint[] public house = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
function sugMa() public view returns (uint) {
uint even = 0;
for (uint i = 0; i <= house.length; i++) {
if (i % 2 == 0) {
even += 1;
}
}
return even;
}
}
当您调用 house()
自动生成的 getter 函数而不提供参数时会发生错误。
house
是一维数组,需要选择要访问的索引
Solidity 目前 (v0.8) 不支持从自动生成的 getter 函数调用整个数组。但是 - 您可以创建自己的函数 returns 整个数组。
function getHouse() external view returns (uint[] memory) {
return house;
}
然后呢returns
uint256[]: 1,2,3,4,5,6,7,8,9,10
编译正常,但在调用“house”时我收到以下错误:
错误:BigNumber 字符串无效 (argument="value", value="", code=INVALID_ARGUMENT, version=bignumber/5.4.1)
有人知道为什么吗?谢谢!
pragma solidity ^0.8.4;
contract Test {
uint[] public house = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
function sugMa() public view returns (uint) {
uint even = 0;
for (uint i = 0; i <= house.length; i++) {
if (i % 2 == 0) {
even += 1;
}
}
return even;
}
}
当您调用 house()
自动生成的 getter 函数而不提供参数时会发生错误。
house
是一维数组,需要选择要访问的索引
Solidity 目前 (v0.8) 不支持从自动生成的 getter 函数调用整个数组。但是 - 您可以创建自己的函数 returns 整个数组。
function getHouse() external view returns (uint[] memory) {
return house;
}
然后呢returns
uint256[]: 1,2,3,4,5,6,7,8,9,10