000
14.04.2004, 00:29 Uhr
lookIN
|
Hi, ich habe gerade versucht meine erste Liste zu schreiben(ich hab bis jetzt einen ziemlich großen Bogen drum gemacht). Ich bekomm folgenden Speicherfehler:
| Code: |
Die Anweisung in "0x00401354" verweist auf Speicher in "0x02a1e000". Der Vorgang read konnte nicht auf dem Speicher durchgeführt werden.
|
Hier der Code:
| C++: |
struct liste { int zahl; bool tf; liste *next; }; liste *pfirst=0;
liste *mache_eintrag(int zahl, bool tf) { liste *e; e = (liste*)malloc(sizeof(liste)); e->zahl=zahl; e->tf=tf; return e; }
void neuer_eintrag(liste *e) { e->next=pfirst; pfirst = e; }
int main(int argc, char *argv[]) { int n; liste *e; liste *i;
for(n=2;n<1000000;n++) { e = mache_eintrag(n,true); neuer_eintrag(e); }
for(e=pfirst;e;e=e->next) { if(e->tf==true) { for(i=pfirst;i;i=i->next) { i->tf=false; } } }
for(e=pfirst;e;e=e->next) { if(e->tf==true) cout<<e->zahl<<" "; free(e); } getchar(); return 0; }
|
Es sind auch noch ein paar Logikfehler drinn, aber um die braucht ihr euch nicht zu kümmern... -- -- lookIN |