Auf Anhieb finde ich den Fehler nicht, aber zwei Tipps:
1. 0xfeeefeee deutet auf nicht initialisierten Speicher hin, oder in deinem Fall auf einen nichtinitialisierten Zeiger.
2. Der Debugger ist dein Freund, meistens ist es gerade bei solchen Dingen recht einfach, damit den Ablauf zu verfolgen. Eventuell hilft es dir hier schon, bei der
Exception einfach etwas aufwärts auf dem Stack zu wandern und zu gucken, wo du mal einen ungültigen Zeiger dereferenzierst.
Vielleicht steckt dein Fehler in Zeile 37, willst du eventuell statt
Code:
runner = runner->next->next;
eigentlich
Code:
runner->next = runner->next->next;
machen?
Edit: Semikolon ergänzt
Noch was zu
1. Lieber gleich auf Groß-/Kleinschreibung achten. Sonst kompiliert dein Programm unter Unix nicht.
2. In C++ haben die C-Header keine Endung, dafür ein c als Präfix. Also:
3. cstdio + iostream solltest du zusammen normalerweise nicht brauchen.