Я пытаюсь создать файл шаблона для класса, который является узлом для двусвязного списка. Всякий раз, когда я пытаюсь скомпилировать, я сталкиваюсь с этой ошибкой.
ISO C++ запрещает декларацию «DNode» без типа
Кажется, это происходит в ответ на мои функции, которые возвращают указатели DNode. Я работаю над этим в течение нескольких дней и, похоже, не могу понять это.
#ifndef DNODE_H
#define DNODE_H
#include <cstdlib>
#include <string>
#include <iostream>
#include <iterator>
template <class T>
class DNode
{
public:
DNode(T StartingData = T(), DNode* PrevLink = NULL, DNode* NextLink = NULL)
{Data = StartingData; previous = PrevLink; next = NextLink;}
void setData(T item)
{Data = item;}
void setNext(DNode *l)
{next = l;}
void setPrevious(DNode *l)
{previous = l;}
*DNode getPrevious() {return previous;}
*DNode getNext() {return next;}
T getData()
{return Data;}
private:
DNode *previous, *next;
T Data;
};
#endif
*DNode
в*DNode getPrevious()
? Это не правильно. - person Captain Obvlious   schedule 21.03.2016