перегрузка оператора вывода в шаблонном классе
От: JohnPreston  
Дата: 13.07.11 08:54
Оценка:
есть шаблонный класс:


template <class T,size_t N>
class Array {
public:
...
friend ostream& operator<<(ostream& t,const Array<T,N>& val);
...
};

template<class T,size_t N>
ostream& operator<<(ostream& t,const Array<T,N>& val){
    for (int i=0;i<N;++i){
        t<<val[i]<<endl;
    }
    return (t<<endl);
}


void main(int argv,char* argc[]){

    Array<int,5> mas(3);

    cout<<mas;
}


error LNK2019: ссылка на неразрешенный внешний символ "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class Array<int,5> const &)" (??6@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@AAV01@ABV?$Array@H$04@@@Z) в функции _main

что не так?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.