CyberDemon Geschrieben 16. Dezember 2002 Teilen Geschrieben 16. Dezember 2002 Hallo! Ich hab folgendes Problem: Ich habe mehrere HeaderDateien. In jeder .h Datei ist eine(!) Klasse mit Konstruktor/Destruktor,Funktionen und Variablen. Nun möchte ich von einer .cpp Datei (nicht main!) auf die Funktionen in den Headern zugreifen. Die Headerdateien sind alle in dieser Funktion, besser gesagt in deren Headerdatei per #include eingebunden. Normalerweise erzeuge ich doch einen Zeiger auf die jeweiligen Klassen und damit kann ich dann über -> zugreifen. Wenn ich das aber auf diese Weise mache, stürzt das Programm ab! Packe ich aber dann alle Variablen und die entsprechenden Funktionen in die Funktion von der Sie eigentlich aufgerufen werden, läuft das Programm perfekt. Den Quelltext kann ich leider nicht posten, da über 250 Zeilen und Datenschutz! Ziemlich kompliziert erklärt, aber genauso ist mein Problem. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 16. Dezember 2002 Teilen Geschrieben 16. Dezember 2002 Originally posted by CyberDemon Normalerweise erzeuge ich doch einen Zeiger auf die jeweiligen Klassen und damit kann ich dann über -> zugreifen.Das reicht nicht. Du musst schon mit new eine neue Instanz der Klasse erzeugen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
CyberDemon Geschrieben 16. Dezember 2002 Autor Teilen Geschrieben 16. Dezember 2002 Das reicht nicht. Du musst schon mit new eine neue Instanz der Klasse erzeugen. Hast Du ein Beispielcode dafür? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 16. Dezember 2002 Teilen Geschrieben 16. Dezember 2002 Klasse* zeigervariable = new Klasse; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
CyberDemon Geschrieben 16. Dezember 2002 Autor Teilen Geschrieben 16. Dezember 2002 Muß ich dann auch delete anwenden :confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 16. Dezember 2002 Teilen Geschrieben 16. Dezember 2002 Muß ich dann auch delete anwenden Wenn du keine Speicherlecks willst:rolleyes: Es handlest sich hierbei ja um einen ganz normalen Zeiger und jeder Zeiger, für den Speicherplatz reserviert wurde, sollte auch wieder freigegeben werden. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
CyberDemon Geschrieben 16. Dezember 2002 Autor Teilen Geschrieben 16. Dezember 2002 Hab es jetzt mit Klasse *zeiger = new Klasse versucht. Dann kommt folgende Meldung: error LNK2001: Nichtaufgeloestes externes Symbol "public: __thiscall Anchor::Anchor(void)" (??0Anchor@@QAE@XZ) Debug/OglDemo.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise Fehler beim Ausführen von link.exe. :confused: :confused: :confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 16. Dezember 2002 Teilen Geschrieben 16. Dezember 2002 Das bedeutet das diese Methode zwar in der Headerdatei deklariert ist, der Linker die Definition aber nicht finden kann. Kuck mal ob du irgendwo nen Rechtschreibfehler oder so hast. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 16. Dezember 2002 Teilen Geschrieben 16. Dezember 2002 Hast du denn die Quellcodedatei, in der der Konstruktor von Anchor definiert ist, mit kompiliert und gelinkt? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
CyberDemon Geschrieben 16. Dezember 2002 Autor Teilen Geschrieben 16. Dezember 2002 Hast du denn die Quellcodedatei, in der der Konstruktor von Anchor definiert ist, mit kompiliert und gelinkt? Das war der Fehler ! Vielen Dank euch allen :D Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.