funktionsaufruf soll zeiger nicht kopieren...
-
Und die richtige variante funktioniert mit
foo(int *&p)
wobei das nach meiner meinung viel unintuitiver ist!
-
danke fuer die schnellen antworten. mein compiler g++-3.4 kompilert beide varianten, die telefonat *&akt variante und auch die zeiger auf zeiger methode. theoretisch erscheint mir das auch logisch, aber...
beim zugriff in der funktion, auf eine elementfunktion zb.:
void(telefonat *&akt){
cout << "\nspringe zum vorigen element der liste\n";
if (akt->gpre() != NULL) akt = akt->gpre();
else cout << "\ndas ist das erste Element.\n";
}haengt sich mein programm auf, d.h. der prozessor arbeitet 100% und nix tut sich.
gabriel
-
Ist akt ein gültiger Pointer (würde ich vorher lieber testen).
Was macht gpre()?
Bist du mal mit dem Debugger durchgegangen?
An der Funktionsdeklaration liegt es jedenfalls nicht.
-
ok, ok, ok vielen vielen dank.
das problem jetzt liegt an meinem code und einer nicht ueberpruften iterationsbedingung...gabriel
-
Slin schrieb:
Und die richtige variante funktioniert mit
foo(int *&p)
wobei das nach meiner meinung viel unintuitiver ist!
Du wirst deine Meinung ändern oder zumindest relativieren, wenn du die Deklarationssyntax von C++ verstanden hast.
-
@Slin: Wenn du schon mal was von Speicherlöchen gehört hättest würdest du verstehen, warum ich diesen Code nicht testen werde.
-
Bitte nicht füttern.
-
Was!?!?!?!? schrieb:
@Slin: Wenn du schon mal was von Speicherlöchen gehört hättest würdest du verstehen, warum ich diesen Code nicht testen werde.
Speicher, welcher von einem Programm reserviert wird, wird freigegeben, sobald das Programm beendet wird.
Wäre dies nicht so, müßte man ja jedesmal den Rechner neustarten, um den nicht-freigegebenen Speicher wieder nutzen zu können.
-
Was!?!?!?!? schrieb:
@Slin: Wenn du schon mal was von Speicherlöchen gehört hättest würdest du verstehen, warum ich diesen Code nicht testen werde.
dann musste den computer tauschen. das ist wie bei von motten zerfressenen klamotten. wenn die bits alle in ein bodenloses loch fallen ist er ein fall für den sperrmüll :p
-
Bashar schrieb:
Slin schrieb:
Und die richtige variante funktioniert mit
foo(int *&p)
wobei das nach meiner meinung viel unintuitiver ist!
Du wirst deine Meinung ändern oder zumindest relativieren, wenn du die Deklarationssyntax von C++ verstanden hast.
Ja okay, da fehlt ein delete am ende, wirste wohl aber noch selber eintragen können. Habs halt eifnach vergessen... wollte aber nicht den Speicherplatz deines Rechners für immer wegschmeißen.