Oprette et objekt med et andet objekt som parameter
Hej eksperterJeg har et problem, som jeg lige pt ikke forstår noget som helst af.
Jeg har lavet 3 klasser, hvor nogle af dem arbejder sammen. Her ses en af mine constructorer som virker:
ReportCreator::ReportCreator(int n, int l, Connection &connection)
{
notify = n;
limit = l;
initialize();
con = connection;
}
Læg mærke til at den har Connection som parameter, hvilket er min klasse. Dette fungerer fint. Her komme den næste:
Simulator::Simulator(ReportCreator &rptcrt)
{
report = rptcrt;
}
Denne fejler bravt. OG jeg kan ikke forstå fejl, for compileren giver en masse fejl, som jeg ikke forstå rså meget af. Noget med at noget er private. Smøren står nederst.
Jeg vil tror det måske har noget at gøre med at jeg ikke har defineter en = operator, men det har jeg ikke ved den første, og det fungerer fint.
Nogen der ved hvad der kan være galt. Hvis i har brug for mere information, så skriv endelig.
/usr/include/c++/4.2.1/bits/ios_base.h: In member function ‘std::basic_ios<char, std::char_traits<char> >& std::basic_ios<char, std::char_traits<char> >::operator=(const std::basic_ios<char, std::char_traits<char> >&)’:
/usr/include/c++/4.2.1/bits/ios_base.h:782: error: ‘std::ios_base& std::ios_base::operator=(const std::ios_base&)’ is private
/usr/include/c++/4.2.1/iosfwd:55: error: within this context
/usr/include/c++/4.2.1/iosfwd: In member function ‘std::basic_ostream<char, std::char_traits<char> >& std::basic_ostream<char, std::char_traits<char> >::operator=(const std::basic_ostream<char, std::char_traits<char> >&)’:
/usr/include/c++/4.2.1/iosfwd:64: note: synthesized method ‘std::basic_ios<char, std::char_traits<char> >& std::basic_ios<char, std::char_traits<char> >::operator=(const std::basic_ios<char, std::char_traits<char> >&)’ first required here
/usr/include/c++/4.2.1/iosfwd: In member function ‘std::basic_ofstream<char, std::char_traits<char> >& std::basic_ofstream<char, std::char_traits<char> >::operator=(const std::basic_ofstream<char, std::char_traits<char> >&)’:
/usr/include/c++/4.2.1/iosfwd:92: note: synthesized method ‘std::basic_ostream<char, std::char_traits<char> >& std::basic_ostream<char, std::char_traits<char> >::operator=(const std::basic_ostream<char, std::char_traits<char> >&)’ first required here
/usr/include/c++/4.2.1/streambuf: In member function ‘std::basic_filebuf<char, std::char_traits<char> >& std::basic_filebuf<char, std::char_traits<char> >::operator=(const std::basic_filebuf<char, std::char_traits<char> >&)’:
/usr/include/c++/4.2.1/streambuf:802: error: ‘std::basic_streambuf<_CharT, _Traits>& std::basic_streambuf<_CharT, _Traits>::operator=(const std::basic_streambuf<_CharT, _Traits>&) [with _CharT = char, _Traits = std::char_traits<char>]’ is private
/usr/include/c++/4.2.1/iosfwd:86: error: within this context
/usr/include/c++/4.2.1/iosfwd: In member function ‘std::basic_ofstream<char, std::char_traits<char> >& std::basic_ofstream<char, std::char_traits<char> >::operator=(const std::basic_ofstream<char, std::char_traits<char> >&)’:
/usr/include/c++/4.2.1/iosfwd:92: note: synthesized method ‘std::basic_filebuf<char, std::char_traits<char> >& std::basic_filebuf<char, std::char_traits<char> >::operator=(const std::basic_filebuf<char, std::char_traits<char> >&)’ first required here
ReportCreator.h: In member function ‘ReportCreator& ReportCreator::operator=(const ReportCreator&)’:
ReportCreator.h:21: note: synthesized method ‘std::basic_ofstream<char, std::char_traits<char> >& std::basic_ofstream<char, std::char_traits<char> >::operator=(const std::basic_ofstream<char, std::char_traits<char> >&)’ first required here
Simulator.cc: In constructor ‘Simulator::Simulator(ReportCreator&)’:
Simulator.cc:12: note: synthesized method ‘ReportCreator& ReportCreator::operator=(const ReportCreator&)’ first required here
make[1]: *** [build/Debug/GNU-Linux-x86/Simulator.o] Error 1