ofstream als Datenelement
-
Hallo,
ich möchte in einer Klasse ein Datenelement vom Typ ofstream anlegen, aber leider erkennt der Compiler das nicht. Kann mir jemand sagen, was ich falsch mache?
Danke
[code]
#include <fstream>class Save2File
{
public:
Save2File(void);
virtual ~Save2File(void);bool Fileopen(void);
bool Filewrite(void);
bool Fileclose(void);private:
ofstream logFile;
};
-
std::ofstream
-
Ich benutze aber "using namespace std". Sollte er das dann nicht automatisch machen?
P.S: Danke für die schnelle Hilfe!
-
Naja, das Du es verwendest sieht man am Quellcode nicht.
Poste mal die Fehlermeldung
-
d:\test\test\save2file.h(14) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'logFile'
d:\test\test\save2file.h(14) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
d:\test\test\save2file.h(14) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
-
Ganz klar, da fehlt das std:: (btw, using im Header kann schnell ungesund werden)
-
eagletec schrieb:
Ich benutze aber "using namespace std". Sollte er das dann nicht automatisch machen?
P.S: Danke für die schnelle Hilfe!
Wo hast das "using namespace std"? Etwa im Header?
-
using namespace steht in der stdafx.h und der Header für meine Klasse ist auch über include drin.
-
using namespace steht in der stdafx.h
Ich glaube, das ist das Böseste was man nur machen kann...
-
Kannst Du da etwas genauer werden?
-
Hallo
weil damit effektiv der Namespace für alle anderen Quellcodedateien dem globalen Namespace gleichgesetzt wird, die stdafx.h auch einbinden. Damit wird aber der eigentliche Zweck von Namespaces, Namenskonflikte zu vermeiden und Quellcode zu gruppieren, ausgehebelt. Insbesondere gilt das für den sehr wichtigen Namespace std aus der STL.
Das mag bei deinem kleinen Projekt noch nicht auffallen, aber früher oder später werden Namespaces wichtig.using namespace xxx gehört in die meisten Fälle in die Implementationsdateien, nicht in Headerdateien.
bis bald
akari
-
... und wieder einmal:
"... und im übrigen bin ich der Meinung, dass Karthago zerstört und dieses Thema in die FAQ aufgenommen werden muß !"

Gruß,
Simon2.
-
Karthago ist doch schon zerstört worden

-
Th schrieb:
Karthago ist doch schon zerstört worden

Dann sollte klar sein, was noch zu tun bleibt

Gruß,
Simon2.