Momentan arbeite ich an einem Projekt für meinen Kurs zur Systemprogrammierung. Wir wurden gebeten, eine Wohnung Verkaufsplattform mit Realtors und Kunden zu programmieren. Ich arbeite an Eclipse.Header-Datei erkennt nicht typedef aus einer anderen Header-Datei
Nun, obwohl ich keine Probleme wie diese in der Vergangenheit hatte, eine meiner Header-Dateien erkennt einen Typedef aus einer zweiten Header-Datei nicht.
Erläuterung: Hier sind meine Dateien;
Realtor.h
#include "apartment.h"
#include "apartment_service.h"
#include "Report.h"
#include "Customer.h"
#include "mtm_ex2.h"
typedef struct realtor_t* Realtor;
Zwar ist dies die zweite Header-Datei;
Customer.h
#include "Report.h"
#include "Realtor.h"
#include "apartment.h"
#include "apartment_service.h"
#include "mtm_ex2.h"
typedef struct customer_t* Customer;
MtmErrorCode purchaseApartment (Customer customer, Realtor realtor,
ApartmentService service,
int apartment_id);
MtmErrorCode makeOffer (Customer customer, Realtor realtor, ApartmentService
service, int apartment_id, int new_price);
(die structs von CUSTOMER_T und realtor_t in den Quelldateien definiert sind)
Aus irgendeinem Grund geben die Funktionsdeklarationen in Customer.h mir die folgende Fehlermeldung: " unbekannter Typname 'Grundstücksmakler' ". Das ist wirklich seltsam, weil die gleichen Funktionen andere Typdefinitionen wie 'ApartmentService' von 'apartment_service.h' verwenden.
Ich vermisse einige Include-Wachen, weil Sie zirkuläre Aufnahme in Ihrer Kopfzeile haben. Haben Sie diese Wachen, nur um diese ersten Fehler zu erschießen? – ckruczek
Hinzuzufügen: Selbst mit Wächtern enthält 'Customer.h'' Realtor.h', die 'Customer enthält.h', die (wahrscheinlich bewacht) 'Realtor.h' enthält. Ohne Wächter funktioniert das überhaupt nicht. Mit include guards geht das zweite Include von 'Realtor.h' einfach durch und Sie landen in' Customer.h' ohne die Deklaration von 'Realtor.h' (weil Sie gerade genau dieses Include verarbeiten). – dhke