BitNeBolt
@BitNeBolt

Почему возникает эта ошибка?

Пытаюсь написать свой односвязный список, но столкнулся с проблемой: не могу реализовать добавление элемента в начало списка.
#include <iostream>

using namespace std;

template <typename T>
class LList //сам список
{
private:
    struct Node //реализация узла, хранящего данные и указатель
    {
    T data;
    T* next;

    Node(T data, T* next)
    {
        this -> data = data;
        this -> next = next;
    }
    };

    Node* Head = new Node(0, nullptr); //создание "главного"(последнего доавленного) элемента

public:
    void Append(T data)
    {
        Node* n = new Node(data, Head); //создание новго узла
        Head = n;
    }

    void ShowHead()
    {
        cout << Head -> data;
    }
};

int main()
{
    LList<int> a;
    a.Append(3);
    a.ShowHead();
}


Ошибка возникает на 26 строке: "no matching function to call to".

Как её можно исправить и почему она возникает?
  • Вопрос задан
  • 106 просмотров
Решения вопроса 1
@k-morozov
Тип указателя неверный в Node на следующий элемент.
https://pastebin.com/yqRznXjA
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы