Przeciązanie operatora <<

Przeciązanie operatora <<
KA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10
0

Witam!
W jaki sposób się przeciąża operator w szablonie klasy?? Ja próbuje standardowo

Kopiuj
friend ostream & operator<<(ostream &ekran, Lista<TYP> &dana);

umieszczam deklaracje przyjaźni w sekcji public klasy ale wyrzuca mi błędy. Z góry dziękuje za pomoc.

n0name_l
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2412
1

Umiesc:

Kopiuj
template<class TYP>

Przed deklaracja funkcji. Szablon klasy nie "obejmuje" funkcji zaprzyjaznionych.

KA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10
0

Dzięki za odpowiedz ale nadal wyskakują te same błędy.

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

Bez szklanej kuli się nie obędzie bo mi się fusy skończyły i nie widzę zbyt dobrze jakie to błędy...

KA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10
0

aa faktycznie, przepraszam nie umieściłem

Kopiuj
syntax error : missing ';' before '&'
'ostream' : 'friend' not permitted on data declarations
missing type specifier - int assumed. Note: C++ does not support default-int
unexpected token(s) preceding ';'
syntax error : identifier 'ostream'
binary 'operator <<' has too few parameters
syntax error : missing ';' before '<end Parse>'

te wszystkie występują w tej lini kodu

Kopiuj
friend ostream & operator<<(ostream &ekran, Lista<TYP> &dana);

jak umieszczę deklaracje i definicje w komentarzach to program kompiluje się.

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
1

Zapwne brakuje std:: i kompilator nie wie czym jest ostream...

KA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10
0

dzięki wielkie ;)

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.