본문 바로가기
WEB3 Error

[Solidity ERROR] Member "push" is not available in uint256[] memory outside of storage

by 개발이 체질인 나그네 2022. 12. 17.
반응형

 

* 본 게시글은, 개발 과정에서 발생한 애러를 개인적으로 정리한 내용입니다.

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/Solidity-Array-Memory%EC%97%90%EC%84%9C-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95-Solidity-08

 

[Solidity] Array Memory에서 사용하는 방법 || Solidity 0.8 ||

안녕하세요. 스마트 컨트렉트 개발자 개발이 체질의 최원혁입니다. Solidity는 변수를 정할 때, 데이터가 저장되는 위치를 정의해야 합니다. EVM은 상태(States) 변수와 지역(Local) 변수 두 종류로 나

borntodevelop.tistory.com

 

 

https://stackoverflow.com/questions/71360830/member-push-is-not-available-in-bool-memory-outside-of-storage

 

Member "push" is not available in bool[] memory outside of storage

I was trying a simple push operation within solidity. As shown in the code below with function isArrayEven(): pragma solidity ^0.8.12; contract Test { uint[] public arr = [uint(1), 2, 3, 4, 5,...

stackoverflow.com

 

반응형

'WEB3 Error' 카테고리의 다른 글

[Solidity ERROR] Invalid array length, expected integer literal  (0) 2022.12.17

댓글