Problem mit Vererbung
-
Ich habe mir eine Basisklasse erstellt und möchte ein Array von dieser erstellen, in dem ich Instanzen von Memberklassen speichere. Allerdings kommt ein Compillerfehler sobald ich die Headerdatei einer Member und der Basisklasse einbinde (class type redefinition).
Wie kann ich diesen Fehler umgehen?
-
Indem du uns den Code dazu postest. Aus deiner Beschreibung kann man nämlich nicht genau entnehmen, was du meinst (was sollen "Instanzen von Memberklassen" sein?).
Edit: Möglicherweise wird eine Datei mehrfach eingebunden, setze mal Include-Guards. Falls das nicht geht, poste wie gesagt den relevanten Code und die vollständige Fehlermeldung.
-
Oh mist

Ich hab die Header-Datei der Basisklasse doppelt eigebunden!
-
Eben für solche Fälle gibt es Include-Guards. Später werden die unverzichtbar, wenn komplexere Abhängigkeiten zwischen den Dateien bestehen.
#ifndef HEADER_HPP #define HEADER_HPP // Code des Headers // wird beim ersten mal, wo HEADER_HPP noch nicht definiert ist, berücksichtigt // dann wird HEADER_HPP definiert, und ab da wird der Teil übersprungen #endifP.S. Man könnte auch folgende, nicht-portable Direktive oben an eine Datei schreiben:
#pragma once
-
Danke

Genau das brauchte ich wusste aber nicht nach was ich suchen sollte!