C++ segmentation fault

Hallihallo…

ich suche jetzt schon seit Stunden nach nem dummen Segmentation Fault…und ich verstehe einfach nicht, wo das Problem sein soll:

void ePaymentsystem::insertLast(Person* p)
{

Person* runner= head;

if(head==NULL)
{
head=p;
return;
}

if(head->getnext()==NULL)
{
head->setnext§;
p->setnext(NULL);
return;
}
while(runner->getnext()!=NULL)
{
runner->setnext(runner->getnext());

}
runner->setnext§;
p->setnext(NULL);

}

Ich möchte in eine Liste Personen einfügen…head ist ein Person* deklariert in epaymentsystem.h

Er hat scheinbar sowohl ein Problem mit runner=head; als auch mit if(head==NULL) … das verstehe ich nicht, head ist initialisiert.

Weiß nicht ob das ausreicht, hoffe ihr könnt mir helfen =)

Danke!

Hab den Fehler schon =) Oh man! Verrat ich aber nicht ;p

Ich habe die Deklaration von heap vermisst, den Mittelteil für absolut unnötig gehalten und dafür das Schleifeninnere für Murks gehalten, da hier runner auf den Vergleichwert gesetzt werden.
Wundert mich, dass der Compiler hier nicht gemeckert hat.
Solche verschachtelten Funktionsaufrufe können undefinierbare Ergebnisse liefern und sind zumindest schlechter Stil.

Ciao, Allesquatsch