模板程序在执行期间崩溃

template program crashing during execution

我正在使用模板在 C++ 中实现双向链表。当我尝试使用模板时。

template <class T>
class DList{
    Node<T> *head;
    Node<T> *tail;
    public:
        Dlist(){
            head = tail = nullptr;
        }       
        void addToHead(T el){
            Node<T> *newNode = new Node<T>(el);
            if(head == nullptr){
                head = tail = newNode;
            }
            else{
                head -> prev = newNode;
                newNode -> next = head;
                head = newNode;
            }
        } };

使用这个addToHead()时,if条件没有执行。然后程序崩溃了。

他们的错误在于构造函数,这只是一个错字。因此,headtail 指针未初始化,当在 addToHead() 的 if 条件下将 head 指针与 nullptr 进行比较时,程序崩溃.