У меня есть следующий исходный код с ошибкой компилятора. Очевидно, что я пытаюсь сделать, поэтому я не буду пытаться объяснить, кроме того, что node<N>*
возвращается неправильный тип, потому что это шаблон, и это создает конфликт с session*
объект. Вот ошибка.
linked_list_1.cpp|17|error: cannot convert 'node<session*>*' to 'session*' in assignment|
В строке 17 вы хотите присвоить возвращаемое значение return_node
к session*
, но возвращаемый тип return_node
это Node<N>*
(Node<Session*>*
) а не N
(session*
).
Добавьте функцию доступа к классу узла и используйте ее для доступа к элементу данных, например:
session* SESSION_COPY;
SESSION_COPY = LIST->return_node(0)->getData();
Поскольку return_node
функция возвращает node<N>*
и не N
, Или когда N
заменяется аргументом шаблона: return_node
возвращается node<session*>*
(посмотрите в заголовочном файле), но вы пытаетесь присвоить возвращенный указатель session*
переменная. Так же, как сообщение об ошибке очень четко говорит.