Problem bei class
-
Morgen ich hab ein Problem immer wenn ich das Kompiliere bekomme ich die Meldung include Datei zu tief verschachtelt was mach ich da falsch?
Hauptprogramm:
#include <iostream> #include "File1.h" #include "Unit1.cpp" using namespace std; class test { public: int ausgabe(); }; int main(int argc, char* argv[]) { system("PAUSE"); }File1.h
#include "File1.h" using namespace std; int test::ausgabe(); { }
-
blup schrieb:
File1.h
#include "File1.h"fällt dir was auf?
-
Weiterhin sollte man auch keine cpps inkludieren. Das hier ist also auch falsch
#include "Unit1.cpp"Außerdem hat
using namespace std;in einem Header nichts zu suchen.
-
blup schrieb:
int test::ausgabe(); { }Normalerweise müsste das Semikolon nach ausgabe() auch Probleme machen...
-
Funktioniert noch immer nicht

Ich bekomm wieder die selbe Meldung wie am Anfang.
Hauptprogramm
#include <iostream> using namespace std; #include "File1.h" class test { public: int ausgabe(); }; int main(int argc, char* argv[]) { system("PAUSE"); }File1.h
#include "File1.h" int test::ausgabe() { }
-
Ach mist was falsches eingefügt^^
File1.h
#include "Unit1.cpp" int test::ausgabe() { }
-
Codedateien sollte man nicht inkludieren. Außerdem solltest du Include guards verwenden. Siehe auch dein lieblings C++-Buch.
-
blup schrieb:
...
Ich habe mal deinen Code etwas geändert, und mit Anmerkungen versehen:
// Hauptprogramm #include <iostream> #include "test.h" // Man sollte Dateien nach ihren Inhalt benennen... using namespace std; // Bitte nach allen Includes, und nicht im Header int main() // solange du nicht mit den Argumenten arbeitest, reicht diese Version { system("PAUSE"); // Achtung: Systemspezifisch }// test.h // Includeguards für Header, müssen Projektweit eindeutig sein #ifndef TEST__HEADER #define TEST__HEADER class test { public: int ausgabe(); }; #endif// test.cpp #include "test.h" int test::ausgabe() { return 0; // Deine Methode hat einen Rückgabewert, also gib auch was zurück... }cu André