Listen
-
Hallo!
mal wieder mein Lieblingstehma <<Listen>>
Mein Problem besteht darin, wenn ich werte eingebe und sie mir ausgeben lase ist alles normal ABER bei nochmaliger ausgabe sind die Daten verschwunden.
Kann mir jemand sagen wo mein Denkfehler ist.#ifndef _Klassen_h
#define _Klassen_h
#include <iostream>
#include <assert.h>
using namespace std;class Liste
{
class Daten
{
public:
int m_Wert;
Daten *m_Next;
};Daten *m_Start;
public:
Liste()
{
m_Start = 0;
};void push(int Wert)
{
Daten *m_Neu = new Daten;
if(Wert < m_Neu->m_Next->m_Wert)m_Neu->m_Wert = Wert;
m_Neu->m_Next = m_Start;
m_Start =m_Neu;
};void anzeige()
{
Daten *Tmp = m_Start;
while (Tmp !=0)
{
cout <<Tmp->m_Wert<<endl;
Tmp = Tmp->m_Next;
m_Start = Tmp;
}
};
};
#endif;
-
Warum änderst du in der Funktion anzeige den Startzeiger?
-
hi
NIMM CODE TAGS
So, guck mal was _du_ hier machst:
void anzeige() { Daten *Tmp = m_Start; while (Tmp !=0) { cout <<Tmp->m_Wert<<endl; Tmp = Tmp->m_Next; m_Start = Tmp; // Das sollte dir zu denken geben } }
Wenn Tmp 0 ist, wird m_Start auch NULL sein,
Die Daten sind net weg, du hast sie nur vor dir versteckt *g*
MfG
-
Danke jetzt gehts und mit den CODE TAGS versuch ich auch noch hinzukriegen.