Ошибка присвоения указателю нового узла односвязного списка с++

Не компилится код реализации односвязного списка с++ (VS 2022). Если закоментить строку присвоения (в функции push_back) указателю head новый узел Node, то все работает, прошу помощи

template<typename T>
class List
{
public:

    List();
    ~List();
    void push_back(T data);

private:

    template<typename T>
    class Node
    {
    public:
        Node* pNext;
        T data;
        Node(Node* pNext = nullptr, T data = T())
        {
            this->pNext = pNext;
            this->data = data;
        }
    };
    int Size;
    Node <T>* head;
};

template<typename T>
List<T>::List()
{
    Size = 0;
    head = nullptr;
}

template<typename T>
List<T>::~List()
{

}

template<typename T>
void List<T>::push_back(T data)
{
    if (head == nullptr)
    {
        *head = new Node<T>(data);  // Если закомментить эту строку, то все компилится
    }
}

int main()
{
    List <int> lst;
    lst.push_back(5);

    return 0;
}

Ответы (0 шт):