Solidity
如何訪問庫中的映射?
library Lib{ struct Data { mapping (uint => uint) a; } function inc(Data self) internal{ self.a[0] =+1; } } contract Example{ address recipient = 0x0000cafebabe; Lib.Data data; function send(){ Lib.inc(data); } }
導致錯誤
7:9:錯誤:成員“a”在儲存之外的結構數據記憶體中不可用。 自我.a[0] =+1; ^----^
將您的程式碼更改如下
function inc(Data storage self) internal{ self.a[0]=+1; }