Debug Assertion bei Verwendung von delete!
-
duckler schrieb:
Kann es sein dass ich die Objekte erstelle dann zerstöre aber in add() auf die beiden erstellten *und* zerstörten Objekte a und b zugreifen will und das ganze deshalb verrutscht?
Nein, die 3Objekte (x,y und z) werden erst beim verlassen des Güligkeitsbereichs zerstört (Destruktor wird aufgerufen), und das ist ...
#include "MyComplex.h" int main() { complex x(1.0,2.0); complex y(2.0,4.0); complex z(0.0,0.0); x.print(); y.print(); z.add(x,y); z.print(); return 0; } // ... erst hier der Fall.ahh moment mal.^^
z.add(x,y);Du erzeugst hier nur eine flache-Kopie, d.h. es werden nur die Zeiger kopiert, nicht aber die Objekte auf die die Zeiger zeigen.
Das heißt wenn die add-Funktion abgearbeitet ist, wird der Destruktor für 'a' und 'b' aufgerufen. --> Die Objekte, auf die die Zeiger zeigen, werden dann zerstört, weil diese, wie gesagt, nicht kopiert werden.z.print();Hier willst du wieder auf die Objekte zugreifen, sie wurden aber schon zerstört.
-
Implementier mal noch den Copy-Constructor
complex::complex(const complex& ori) { this->re = new float( ori.real() ); this->im = new float( ori.imag() ); }und mache die real() und imag() Methoden konstant:
float real () const; // Deklaration float complex::real() const // Definition { return *re; }( und das gleiche noch bei imag() )
-
Hi Dweb,
vielen, vielen, vielen, vielen, vielen, vielen, vielen, DANK Dweb es funktioniert tadellos

Viele Grüße,
Duckler
-
Kann ich Dir irgendwie eine PN schicken Dweb?
Viele Grüße,
Duckler
-
immer gern zu Diensten

Was mich nur wundert, dass die Meldung bei VS 2010 nicht kommt, hmm^^
grüßli
-
*seufz*
- Die Dreierregel wurde verletzt.
- re und im brauchen aber keine Zeiger sein. Das ist -- mit Verlaub -- völliger Schwachsinn.
-
Danke krümelkacker von der Dreierregel hatte ich bisher noch nichts gehört!
Viele Grüße,
Markus
-
P.S.: Dweb geht das irgendwie mit der PN ?
Viele Grüße,
Duckler
-
duckler schrieb:
P.S.: Dweb geht das irgendwie mit der PN ?
Viele Grüße,
Ducklerhmm "PN" ?^^
-
Personal Note, E-Mail u.s.w.?
Viele Grüße,
Duckler
-
Dweb schrieb:
duckler schrieb:
P.S.: Dweb geht das irgendwie mit der PN ?
Viele Grüße,
Ducklerhmm "PN" ?^^
PN gibts nicht, aber Email an die registrierte Email Adresse.
-
Wenn du bei mir auf "Benutzerprofil" klickst, müsste da dann "email senden" stehn.

Ansonsten kannst du mir auch icqNR oder so geben oder mit schicken.
-
Hi dweb,
da mußt Du nochmal nachgucken, da steht leider nicht ;-)!
Viele Grüße,
Duckler
-
duckler schrieb:
Hi dweb,
da mußt Du nochmal nachgucken, da steht leider nicht ;-)!
Viele Grüße,
Ducklernu event. ?
-
Hi Dweb,
hab mir Pidgin gezogen dann können wir mal chatten, meld mich morgen nochmal!
Viele Grüße,
Duckler
-
ja klapp jetzt haste ne email !

Viele Grüße,
Duckler
-
huhu,
also hab ne mail von dir bekommen und geantwortet, aber ich bekomme die mail immer wieder zurück.Als Grnud steht hier: [ duckler1911@web.de Benutzer nicht bekannt/User unknown]
-
Hi Dweb,
hab Dir ne Mail mit ner Erklärung geschickt!
Viele Grüße,
Duckler