Come da titolo vorrei eliminare una lista intera. Il codice è questo

codice:
temp1=start;
while(temp1->next!=NULL){
    temp=temp1;
    temp1=temp1->next;
    delete temp;
}
start=NULL;
Se però stampo a video la lista mi crasha, quando invece dovrebbe solamente stamparmi nulla.
La logica del ciclo dovrebbe essere corretta, salvo il puntatore lo elimino e così via, vero?!