нормально, так вот мой файл заголовка (или по крайней мере его часть):шаблон класса, ожидаемый конструктор, деструктор
template<class T>
class List
{
public:
.
:
List& operator= (const List& other);
.
:
private:
.
:
};
и вот мой .cc файл:
template <class T>
List& List<T>::operator= (const List& other)
{
if(this != &other)
{
List_Node * n = List::copy(other.head_);
delete [] head_;
head_ = n;
}
return *this;
}
на line List& List<T>::operator= (const List& other)
Я получаю ошибку компиляции «Ожидаемый конструктор, деструктор или преобразование типа до« & «токен». Что я здесь делаю неправильно?
Определение класса шаблона должно быть в файле заголовка. Взгляните на этот вопрос для объяснения: http://stackoverflow.com/questions/495021/why-can-templates-only-be-implemented-in-the-header-file –