0
Я получаю следующую ошибку в VS2015. Мне не кажется очевидным, что я испортил шаблоны.Ошибка c2440 '=' не может конвертировать из int * в тип <T> *
Любые курсоры (ы) действительно оценен!
C2440 Ошибка '=': не удается преобразовать из 'междунар *' до '*' DNode
template<class Type>
class DNode <- *** THIS IS THE TYPE ***
{
public:
Type *next;
Type *previous;
Type value;
DNode(Type valueParam)
{
value = valueParam;
next = previous = NULL;
}
};
template<class T>
class DLinkedList
{
DNode<T> *head;
DNode<T> *tail;
public:
DLinkedList()
{
head = tail = NULL;
}
T pop_tail()
{
if (tail == NULL) return -1;
T value;
if (head == tail)
{
value = tail->value;
free(tail);
head = tail = NULL;
return value;
}
else
{
DNode<T> *ptr = tail;
value = tail->value;
tail = tail->previous; <-- *** THIS LINE THROWS ERR ***
tail->next = NULL;
free(ptr);
return value;
}
}
}
Aw. Имеет смысл. Спасибо! Я отмечу это как ответ за 8 минут –