Мне нужно поменять класс связанного списка для int, который я написал в шаблон класса. У меня возникают проблемы с конструктором и деструктором для структуры, вложенной в класс List, называемый узлом.Проблема с конструктором Struct, вложенным в шаблон класса
Layout:
template <typename T>
class List
{
public:
//Stuff that's not important to this question
private:
struct Node
{
Node(T value); // constructor
~Node(); // destructor
Node *next; // pointer to the next Node
T data; // the actual data in the node
static int nodes_alive; // count of nodes still allocated
};
};
Реализация:
template <typename T>
typename List<T>::Node::Node(T value)
{
data = value;
next = 0;
}
template <typename T>
typename List<T>::Node::~Node()
{
--nodes_alive;
}
Ошибки:
Ожидаемые ';' в конце декларации
Ьурепата Список :: Узел :: Узел (значение Т)
ожидался идентификатор или идентификатор шаблона после '::'
Ьурепата Списка :: Узел :: ~ Узел ()
Ожидаемое имя класса после '~', чтобы назвать деструктор
имяТипа Список :: Node :: ~ Node()
Не совсем уверен, что здесь происходит. Моя реализация находится в отдельном файле, расположенном в нижней части файла заголовка. Любая помощь будет принята с благодарностью.
Вы забыли ',' в конце 'класса list' – clcto
хотя я забыл, когда я скопировал его на его правильно в моем источнике, который ведет к ошибкам. Я исправлю сообщение, хотя, спасибо! –