Witam, piszę sobie taki mały programik, by jeszcze lepiej ogarnąć przeciążenia operatorów i napotkał mnie błąd.
O ile operatora << ładnie zapisuje mi do pliku to wczytywanie nie idzie już tak gładko, wywala mi błąd:
'binary '>>': no operator found which take a left-hand'...
kawałek kodu:
friend ostream& operator<<(ostream &os, const silnik &s) {
os << s.moc<< ' ' << s.wymiary<< ' '<< endl;
return os;
}
friend istream& operator>>(istream &is, silnik &s){
is >> s.moc >> s.wymiary;
return is;
}
// wypiswanie listy
wsk = glowa;
while(wsk!=NULL){
wsk->wypisz();
lista << (*wsk);
wsk = wsk->nast;
}
wsk = glowa;
lista.close();
// odczytywanie z pliku - TU KOMPILATOR SIĘ CZEPIA !!!
lista.open("lista.txt", ios::in);
wsk = glowa;
while(!lista.eof()) {
lista >> (*wsk);
wsk = wsk->nast;
}
lista.close();