001
26.11.2009, 20:39 Uhr
~Prog
Gast
|
Ja, es wird eine Kopie erstellt. Du erzeugst da also mit jeder Synapse ne Speicherleiche (oder rufst du delete noch irgendwo auf?)
Die Zeile
C++: |
Synapse* tmpsyn=new Synapse();
|
ist übrigens auch falsch. In Java währe es richtig eine leere Konstruktorliste mit anzugeben, in C++ ist das unzulässig, es muss
C++: |
Synapse* tmpsyn=new Synapse;
|
heißen. Da sowieso eine Kopie erzeugt wird, solltest du das Anlegen der Synapse besser auf dem Stack machen:
Ich verstehe allerdings noch nicht ganz, was du insgesamt machen möchtest. Folgendes Codestück ist mir nicht verständlich:
C++: |
Synapse* tmpsyn=new Synapse; tmpsyn->init(parent->getPointer(),child->getPointer()); parent->addChild(tmpsyn); child->addParent(tmpsyn);
|
Synapse hat deiner Klassenbeschreibung zufolge keine Funktion namens init() und für parent und child ist nicht mal der Datentyp bekannt.
Gruß Prog |