Jaja, wie man merkt beschäftige ich mich grad vermehrt mit dem gcc und stolpere über verdammt viele Probleme. Diesmal folgender Code:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
|
class Output
{
public:
Output(void);
~Output(void);
private:
std::ofstream mLog;
};
|
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
|
Output::Output(void) : mLog("server.log", std::ios::out) // Zeile 22
{
}
Output::~Output(void)
{
mLog.close();
}
|
Habe ich in etwa so schon eigentlich immer unter Windows mit dem VS gehandhabt und nun ... wirft mir der gcc folgende Fehler um die Ohren:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
|
src\Output.cpp: In copy constructor `std::basic_ios<char, std::char_traits<char> >::basic_ios(const std::basic_ios<char, std::char_traits<char> >&)':
3.4.5/bits/ios_base.h:781: error: `std::ios_base::ios_base(const std::ios_base&)' is private
Output.cpp:22: error: within this context
WoRD - Server\src\Output.cpp: In copy constructor `std::basic_filebuf<char, std::char_traits<char> >::basic_filebuf(const std::basic_filebuf<char, std::char_traits<char> >&)':
3.4.5/../../../../include/c++/3.4.5/streambuf:769: error: `std::basic_streambuf<_CharT, _Traits>::basic_streambuf(const std::basic_streambuf<_CharT, _Traits>&) [with _CharT = char, _Traits = std::char_traits<char>]' is private
src\Output.cpp:22: error: within this context
|
Ich habe echt keine Ahnung, was ich irgendwie falsch gemacht haben könnte. Wenn ich allerdings std::ofstream mLog als Pointer deklariere und dann eben mit new erstelle und am Ende wieder lösche kompiliert mir das alles wunderbar. Aber das kann doch wohl nich die Lösung sein ...