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="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, botów: 0