Ik zit dus met een probleem met lijsten.
Ik heb een class Perceel
Code: Select all
class Perceel
{
//! Overloaden van de << operator voor gebruik bij Perceel klasse
friend ostream& operator<<( ostream& os, const Perceel& kt );
public:
//! Constructor voor een Perceel
/*!
Beschrijving: <br>
Initialiseert een Perceel met een bepaald adres. Dit adres moet niet noodzakelijk hetzelfde zijn als het factuuradres van een Klant.<br>
Pre: <br>
nadres is een correcte string
*/
Perceel( const string nadres );
//! Default destructor voor Perceel
~Perceel();
bool setAdres( string nAdres );
bool addAansluiting( Aansluiting ansl );
bool verwijderAansluiting();
private:
void printAansluitingen();
//! Adres van het perceel
string fAdres;
lijstaansluitingen aansluitingen;
};
Code: Select all
class Aansluiting
{
friend ostream& operator<<( ostream& os, const Aansluiting& ans );
public:
Aansluiting();
~Aansluiting();
bool isActief();
void setActief();
void setInActief();
private:
//Aansluiting& operator=( const Aansluiting &andere );
EAN *fEan;
void setEan( EAN &nean );
bool fActief;
// list <Meter> meters
};
ostream& operator<<( ostream& os, const Aansluiting& ans );
Ik wil bij het printen van een perceel dat al zen aansluitingen mee afgedrukt worden. Dus bij het overloaden van de "<<" operator bij Perceel doe ik het volgende:
Code: Select all
ostream& Locaties::operator<<( ostream& os, const Perceel& perc )
{
os << perc.fAdres << endl;
for(iter = perc.aansluitingen.begin(); iter != perc.aansluitingen.end(); iter++){
}
return os;
}
krijg volgende error:
Code: Select all
locaties.cpp: In function ‘std::ostream& Locaties::operator<<(std::ostream&, const Locaties::Perceel&)’:
locaties.cpp:25: error: no match for ‘operator=’ in ‘Locaties::iter = perc->Locaties::Perceel::aansluitingen.std::list<_Tp, _Alloc>::begin [with _Tp = Aansluitingen::Aansluiting, _Alloc = std::allocator<Aansluitingen::Aansluiting>]()’
/usr/include/c++/4.2/bits/stl_list.h:113: note: candidates are: std::_List_iterator<Aansluitingen::Aansluiting>& std::_List_iterator<Aansluitingen::Aansluiting>::operator=(const std::_List_iterator<Aansluitingen::Aansluiting>&)
Code: Select all
for(iter = perc.aansluitingen.begin(); iter != perc.aansluitingen.end(); iter++)