ofstream Objekt im Konstruktor als Parameter
-
Warum geht das hier nicht:
#include <iostream> #include <fstream> #include <string> using namespace std; class write { write(const ofstream &file_); private: ofstream m_file; }; write::write(const ofstream &file_) :m_file(file_) { } int main() { return 0; }Compiling: C:\MinGW\Andi\text_edit.cpp
C:\MinGW\Andi\text_edit.cpp: In copy constructorstd::basic\_ios<char, std::char\_traits<char> >::basic\_ios(const std::basic\_ios<char, std::char\_traits<char> >&)': c:/mingw/bin/../lib/gcc/mingw32/3.4.4/../../../../include/c++/3.4.4/bits/ios\_base.h:781: error:std::ios_base::ios_base(const std::ios_base&)' is private
C:\MinGW\Andi\text_edit.cpp:17: error: within this context
C:\MinGW\Andi\text_edit.cpp: In copy constructorstd::basic\_filebuf<char, std::char\_traits<char> >::basic\_filebuf(const std::basic\_filebuf<char, std::char\_traits<char> >&)': c:/mingw/bin/../lib/gcc/mingw32/3.4.4/../../../../include/c++/3.4.4/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
C:\MinGW\Andi\text_edit.cpp:17: error: within this context
Process terminated with status 1 (0 minutes, 0 seconds)
4 errors, 0 warningsMfG
Stromberg
-
Man kannst du nicht lesen? Dein Compiler weist die deutlich darauf hin, das der Kopierkonstruktor von std::ofstream private deklariert ist. Müssen wir dir hier auch noch die Fehlermeldungen vorlesen?
Zur Lösung des Problems musst du in Zeile 11 ein '&' ergänzen. Kannst ja mal ausprobieren wo genau.