Hallo zusammen!
Ich arbeite mich jetzt seit ein paar Wochen in C++ ein. Habe bis jetzt jedes Problem mir ergoogeln können, aber hier komme ich nicht weiter:
Ich habe ein paar Klassen geschrieben, die ich mit Pointern aufeinandern ausstatten wollte. Nun hatte ich mich schon einmal mit Includes auseinandergesetzt und verwende seitdem Include-Guards nach folgenden Schema:
---------------------------------------------------
#ifndef __A
#define __A
#ifndef __B
#include __B
#endif
#ifndef __C
#include __C
#endif
...
#include<vector>
#include...
class A{
...
}
#endif //ifndef __A
---------------------------------------------------
In der cpp-Datei machen ich dann nur noch einen include auf die entsprechende Headerdatei und ein Mapping der Alloc()-Funktion auf die Debug-Version, von wegen Memory-Leaks und so.
Das ging einige Zeit so gut, bis irgendwann sehr merkwürdige Fehler auftraten; Manche Dateien konnte ich über eine andere Datei kompilieren, aber nicht von sich aus. Die Kompilerfehler treten plötzlich massiv auf. Der Häufigste ist " Syntaxfehler: Es fehlt ';' vor ..." ...irgendeiner Klammer.
Ich habe rumprobiert und über einen Include-Graphen herausgefunden, dass diese Fehler auftreten, wenn ein Zyklus vorliegt. Vielleicht gäbe es einen Weg, dieses gegenseitige Abhängigkeitsproblem über ein Nichtzyklischen Graphen so lösen, aber das kann es ja wohl nicht sein.
Mache ich da irgendwas falsch bei den Include-Guards?
Ach ja meine Umgebung (Aber daran wird wohl nicht liegen):
WindowsXP
MS Visual C++ .NET
Gruss
Ich arbeite mich jetzt seit ein paar Wochen in C++ ein. Habe bis jetzt jedes Problem mir ergoogeln können, aber hier komme ich nicht weiter:
Ich habe ein paar Klassen geschrieben, die ich mit Pointern aufeinandern ausstatten wollte. Nun hatte ich mich schon einmal mit Includes auseinandergesetzt und verwende seitdem Include-Guards nach folgenden Schema:
---------------------------------------------------
#ifndef __A
#define __A
#ifndef __B
#include __B
#endif
#ifndef __C
#include __C
#endif
...
#include<vector>
#include...
class A{
...
}
#endif //ifndef __A
---------------------------------------------------
In der cpp-Datei machen ich dann nur noch einen include auf die entsprechende Headerdatei und ein Mapping der Alloc()-Funktion auf die Debug-Version, von wegen Memory-Leaks und so.
Das ging einige Zeit so gut, bis irgendwann sehr merkwürdige Fehler auftraten; Manche Dateien konnte ich über eine andere Datei kompilieren, aber nicht von sich aus. Die Kompilerfehler treten plötzlich massiv auf. Der Häufigste ist " Syntaxfehler: Es fehlt ';' vor ..." ...irgendeiner Klammer.
Ich habe rumprobiert und über einen Include-Graphen herausgefunden, dass diese Fehler auftreten, wenn ein Zyklus vorliegt. Vielleicht gäbe es einen Weg, dieses gegenseitige Abhängigkeitsproblem über ein Nichtzyklischen Graphen so lösen, aber das kann es ja wohl nicht sein.
Mache ich da irgendwas falsch bei den Include-Guards?
Ach ja meine Umgebung (Aber daran wird wohl nicht liegen):
WindowsXP
MS Visual C++ .NET
Gruss