structure
-
hallo
im header-file (main.hpp) zur main.cpp wird eine structure definiert!
wie kann ich von einer anderen cpp-Datei (Unterprogramm nicht in main.cpp)
auf diese Structure zugreifen?
zur zeit habe ich in beiden cpp-files das header fiel mit include hinzugefügt!
dies ruft eine mehrfach-deklaration hervor.
ich habe auch versucht mit ifndef und define zu arbeiten, kenne aber die
genaue funktionsweise nicht!lg
patrick
-
#include <main.h> hast du drin?
-
ja
-
Hallo
wegen den Include-Guards :
// Unit.h #ifndef UnitH #define UnitH // Definitionen #endif // Ende der Dateidas wird aber doch eigentlich automatisch vom BCB angelegt, wenn du Neu/Unit ausführst.
Ich verstehe deinen Aufbau so : Du hast eine Main.cpp und eine Unit.cpp mit jeweiliger Header-Datei. Die Main.h soll die Unit.h includen. Die Unit.h sollte nicht die Main.h includen.
Um jetzt die Struktur-Definition in beiden Dateien benutzen zu können, brauchst du bloß noch diese in Unit.h zu verlegen. So ist es logisch und nachvollziehbar.bis bald
akari
-
Hab nun das 2. header-file in main.hpp includiert.
Und die struct definition zwischen ein #ifndef in die 2. Hpp-Datei gefügt.Das gibt aber nun eine hübsche mehrfachdeklaration.
Wie hast du das mit dem verlegen gemeint?
-
Hallo
mit verlegen meine ich aus Main ausschneiden und in Unit kopieren
also noch mal ganz genau :
// Unit Header #ifndef UnitH #define UnitH struct MyFaecher { char *Fach; }; extern MyFaecher Faecher[5]; //... alle weiteren Definitionen #endif // Ende der Datei // Unit CPP-Datei #include "Unit.h" MyFaecher Faecher[5]; // Main Header #ifndef MainH #define MainH #include "Unit.h" //... alle weiteren Definitionen, aber weder MyFaecher noch Faecher! #endif // Ende der Datei //Main CPP-Datei ... Faecher[1].Fach = "Hallo"; // Zugriff auf externes Arrayso soll es aussehen. Dann funktioniert es auch!
bis bald
akari
-
// Unit CPP-Datei MyFaecher Faecher[5];Das gibt einen daclaration syntax error
Gruß
-
Hallo
okay, in Unit.cpp muß natürlich oben noch #include "Unit.h" hinein. Hab ich korrigiert.
bis bald
akari
-
Herzlichen Dank auch lieber Kollege, das hat jezt funktioniert!!
Somit ist die morgige Programmabgabe gesichert!!
Noch kurz eine Frage zum Verständnis:
Alle anderen Variablen (int, long) die ich in main.hpp definiert habe, hole ich mir mit extern int in die Unit.cpp.
Warum ist es mit der Struktur nicht gegangen?
Gruß und Dank MasterDitz