WEB3 Error2 [Solidity ERROR] Invalid array length, expected integer literal * 본 게시글은, 개발 과정에서 발생한 애러를 개인적으로 정리한 내용입니다. Invalid array length, expected integer literal // SPDX-License-Identifier: MIT pragma solidity ^0.8.13; contract ReturnsArray { mapping(address => uint) public balance; function getBalanceByAddressList(address[] calldata users) public view returns(uint[] memory) { uint _length = users.length; uint[_length] memory results; // ERROR !! for(uint i = 0; i <.. 2022. 12. 17. [Solidity ERROR] Member "push" is not available in uint256[] memory outside of storage * 본 게시글은, 개발 과정에서 발생한 애러를 개인적으로 정리한 내용입니다. Member "push" is not available in uint[] memory outside of storage 함수 내부에 생성된 배열(Array) 변수는 EVM의 memory에 저장됩니다. memory에 정의된 배열 변수는 new 연산자를 사용하여 만들 수 있습니다. 그리고 memory는 데이터의 특성 상, 배열의 길이가 정의 되어야합니다. 즉 동적 배열이 아닌, 정적 배열만 정의 가능합니다. uint[5] memory results; // Not Good uint[] memory results = new uint[](5); // Nice https://borntodevelop.tistory.com/entry/Soli.. 2022. 12. 17. 이전 1 다음 반응형