Also, vor ein paar tagen hab ich beschlossen, eine Art Mue(ups - ü)lleimer-Simulator zu programmieren, anfänglich textbasiert. Mein Compiler, Dev-Cpp(verfluchtes Windoof) blieb schon beim lesen der Dateien stecken. Hier mal grob die Klassenhierarchie:
-Muelleimer:
public:
Muelleimer();
~Muelleimer();
bool objektEinwerfen(Muell);
void ausleeren();
herumWuehlen(); (
)
int getFuelle();
int getMaxFuelle() -Ein Eimer muss eine Größe haben...
bool istVoll();
void refreshVoll();
protected:
int fuelle, maxFuelle;
bool voll;
vector<Muell> inhalt;
Bereich umgebung;
friend class Muell; -Um direkt auf die ->groesse vom Muell zuzugreifen...
Okay, das war der Eimer... jetzt der
-Muell:
public:
Muell(Muelltyp);
~Muell();
protected:
int groesse;
Muelltyp typ; -Jeder Muell braucht einen ->typ
dann der
-Muelltyp:
public:
Muelltyp(string);
~Muelltyp();
protected:
string name;
Okay, also das kann ich vielleicht weglassen...
und dann noch ein
-Bereich:
public:
Bereich();
~Bereich(); -Okay, bei manchen Klassen sind Kon-/Destruktoren nicht nötig.
void objekt_Hinlegen(Muell);
bool verschieben_in_Eimer(Muelleimer*);
protected:
vector<Muell> inhalt;
friend class Muelleimer; -Um den ->inhalt des Eimers in den Eimer zu schieben...
Tja, das war noch nicht das Problem... Das sind die includes der Dateien:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
|
//Für alle:
#include <iostream>
#include <vector>
//bereich.h:
#include "muelleimer.h"
#include "muell.h"
//muell.h
//#include "muelleimer.h" - das war mal
#include "muelltyp.h"
//muelleimer.h
#include "muell.h"
#include "bereich.h"
|
Okay, jetzt das Problem: bereich includet muelleimer und muelleimer includet bereich!
Der Compiler nennts verschaltelung...(Ach ja, bin auf nds-prog umgestiegen, da kann ich wenigstens die Compiler ausgaben schon vorher lesen, ist nämlich gcc)
|
C-/C++-Quelltext
|
1
|
#include nested to deepley
|
sagt er.
Nun kann ich aber schlecht einen von den includes entfernen, weil dann kennt entweder der Eimer den Bereich nich oder Umgekehrt... Und ich glaube nicht, dass es was ändern würde, die Klasse Muelltyp zu entfernen.
Was kann ich sonst tun?
bitte gnädigst um Hilfe
Danke schon mal...