Solidity
Solidity 中的基本 For 循環失敗
我創建了一個簡單的 For 循環,它應該返回一個數字數組。但它失敗了
errored: VM error: revert
我想我在這裡缺少一些基本的東西,所以我希望你們能在這裡提供幫助。
// SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.7.0 <0.9.0; contract ForLoop { function getOwnedTokens() public pure returns (uint[] memory) { uint[] memory listOfOwnedTokens; uint numberOfOwnedTokens = 4; for(uint tokenIndex = 0; tokenIndex < numberOfOwnedTokens; tokenIndex++) { listOfOwnedTokens[tokenIndex] = tokenIndex; } return listOfOwnedTokens; } }
// SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.7.0 <0.9.0; contract ForLoop { function getOwnedTokens() public pure returns (uint[] memory) { uint numberOfOwnedTokens = 4; uint[] memory listOfOwnedTokens = new uint[](numberOfOwnedTokens); for(uint tokenIndex = 0; tokenIndex < numberOfOwnedTokens; tokenIndex++) { listOfOwnedTokens[tokenIndex] = tokenIndex; } return listOfOwnedTokens; } }
在這裡,我為你修好了。有點難以解釋答案。但是“不允許”索引作為記憶體的不固定大小的數組。