Пытаюсь написать свой односвязный список, но столкнулся с проблемой: не могу реализовать добавление элемента в начало списка.
#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".
Как её можно исправить и почему она возникает?