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);
}
}
Führt zu Fehlern
7:9: Fehler: Member "a" ist nicht verfügbar in struct Datenspeicher außerhalb des Speichers. self.a[0] =+1; ^----^
Lassen Sie Ihren Code wie folgt ändern
function inc(Data storage self) internal{
self.a[0]=+1;
}
Beachten Sie den storage
Teil davon. Bitte verstehen Sie die Konzepte der internen Typen für Variablen und In-Memory-Typen
Roland Köfler