c++, funkcje zaprzyjaźnione/ przeciążenie

0

witam, dla tak zdefiniowanej funkcji zaprzyjaźnionej wyskakuje mi błąd dla miejsca prywatnego w klasie:

 friend istream & operator>>(istream & in, modulo & k);
istream & operator<<(istream & in, modulo & k){
    in >> k.rest;
    return in;
}

widzi ktoś może źródło błędu ?

0

A jaki to błąd wyskakuje? Szklana kula w niedziele nie pracuje.

0

xdd że pole 'rest' is private, a funkcja zaprzyjaźniona w kalsei więc nwm skąd problem

3

operator<< i operator>> to różne funkcje.

0
  1. error: 'int modulo::rest' is private|
  2. error: within this context|
    lepiej ? ^^
0

Pokaż deklarację klasy.

2
istream & operator<<(istream & in, modulo & k){
    in >> k.rest;
    return in;
}

W deklaracji masz operator <<, a w ciele masz in >> k.rest.. Powinno być:

istream& operator >> (istream& in, modulo& k){
    return in >> k.rest;
}
1

istream a nie powinno byc iostream :)

0

Powinno być istream dla wejścia i ostream dla wyjścia.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.