Eclipse unter Ubuntu: Gültigkeitsbereich nicht definiert
-
Hallo ich versuche gerade unter Eclipse mit C++ anzufangen. Das kompilieren von einer einfachen cpp Datei mit ner Main Funktion geht auch. Wenn ich jetzt aber eine neue Klasse anlegen und die in meiner anderen Datei benutzen will gibt es einen Fehler:
">>ABC<< wurde in diesem Gültigkeitsbereich nicht definiert"
Die 3 Dateien liegen alle im selben Verzeichnis. Was muss ich machen damit sie gefunden werden?
Ich hab schon mit #includes und unter den Projekteigenschaften rumprobiert aber das bringt alles nichts.
Helft mir bitte

-
Das zeigt einfach, dass er in der Datei die Klasse ABC nicht kennt.
C++ benutzt ein sehr altes Entwicklungsmodell basierend auf Dateien und nicht Modulen. Sprich: Jede Code-Datei wird getrennt kompiliert, wenn du etwas in einer Code-Datei deklarierst, dann sieht man das beim kompilieren nicht in der anderen Code-Datei (erst beim linken). Willst du nun die Klasse ABC in mehreren Code-Dateien benutzen, dann "musst" du eine Header-Datei anlegen und dort die Klasse ABC deklarieren und die Header-Datei in den Code-Dateien mittels
#includeeinbinden.Beispiel:
// abc.hpp - Header-Datei #ifndef ABC_HPP // Includeguards - siehe http://en.wikipedia.org/wiki/Include_guard #define ABC_HPP class abc { int i; public abc(int i); int get() const; }; #endif // abc.cpp - Code-Datei #include "abc.hpp" abc::abc(int i) : i(i) { } int abc::get() const { return i; } // main.cpp - Code-Datei #include <iostream> #include "abc.hpp" int main() { abc a(10); std::cout << a.get() << '\n'; }Ich verschiebe das mal ins C++-Forum, da es sich offenbar um kein IDE-Problem handelt.
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Compiler- und IDE-Forum in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Dankeschön
jetzt klappt alles