Задать вопрос
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".

Как её можно исправить и почему она возникает?
  • Вопрос задан
  • 108 просмотров
Подписаться 1 Простой 4 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Яндекс Практикум
    Мидл разработчик С++
    4 месяца
    Далее
  • Яндекс Практикум
    Разработчик C++ расширенный
    12 месяцев
    Далее
Решения вопроса 1
@k-morozov
Тип указателя неверный в Node на следующий элемент.
https://pastebin.com/yqRznXjA
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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