Operatory wejscie i wyjscia template i class

0

Próbuje zrobić prosty operator wejscia i wyjscia w klasie z szablonem,, ale napotkalem na pewne komplikacje podczas kompilacji tego kodu:


template<class T> class bList;
template<class T> istream & operator>> (istream & wejscie, bList<T> & w);
template<class T> ostream & operator<< (ostream & ekran, const bList<T> & w);


template <class T> 
class bList
{
   private: 
	el<T> * head;
	
   public:
    	friend ostream & operator<< <>(ostream & ekran, const bList<T> &w);
    	friend istream & operator>> <>(istream & wejscie,  bList<T> &w);
	bList(){head=NULL;};
	bList(const bList<T> & w);
	void Clear();
	~bList(){ Clear(); };
	void AddEl(T ele); //dodaje lement do listy w odpowiednie miejsce sortujac go
	bList<T> AddLists(const bList<T> & a,const bList<T> & b);
	bList  operator=(const bList<T> & w);
	bList operator+(const bList<T> & w){return addlists(*this,w);};
    	
};


template <class T>
ostream & operator<<(ostream & ekran,const bList<T> &w)
{
      	ekran<<"Podana lista: " <<endl;
      	el<T> * wsk=w.head;
      	int i=1;
      	while(wsk!=NULL)
      	{
		ekran<<i<<":"<<endl;
          	ekran<<wsk->data<<endl;;
		wsk=wsk->next;
      	}
      	return ekran;
}    

    	istream & operator>>(istream &wejscie, bList<T> &w)          //TUTAJ
    	{
        int s=0;
        cout << "Podaj ilosc elementow";
        wejscie>>s;
        el<T> element;
        int i;
        for(int i=0;i<s;i++)
        {
            	cout<<"Podaj "<<i+1<<" element listy:"<<endl;
            	wejscie>>i;
            	lista.AddEl(element);
        }	    
    	return wejscie;
}

Podczas kommpilacji wyskakuje mi error, że w linijce którą, zkomentowałęm tekstem "TUTAJ" T nie jest zadeklarowane. Poza tym wyskakują też krzaki innych będów wynikająccych pewnie z jednego głupiego błędu. Do kompilacji używałem g++ i DevC++ w obu wystąpił błąd. Proszę o pomoc.

0

A gdzie masz template<class T> przed tą funkcją? Jak piszesz nagłówek funkcji w połowie linijki to błędów nie widać ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1