在ConsoleApplication17.exe中的0x53F3D9CB(ucrtbased.dll)处引发异常:0xC0000005:访问冲突读取位置0xDDDDDDCD。发生

时间:2019-05-15 17:17:40

标签: c++ pointers

我正在尝试创建自己的单链接列表模板。当我尝试从一开始就删除某个元素时,它第一次运行良好,而第二次运行时,它却迷失了一段时间。我不知道会发生什么。

1:删除 2:重置

引起相同的错误。

    bool reset() {
        Node<TYPE>* currentPtr = listStart;
        if (!isEmpty()) {
            while (currentPtr->nextPtr != nullptr) {
                currentPtr = currentPtr->nextPtr;
                listStart = currentPtr;
                delete currentPtr->nextPtr;

            }
            delete currentPtr->nextPtr;
            return true;
        }
        else
            return false;
    }
    bool remove() {
        if(!isEmpty()){
            Node<TYPE>* temp = listStart;
            listStart = temp->nextPtr;
            delete temp->nextPtr;
            return true;
        }
        else {
            std::cout << "List is Already Empty";
            return false;
        }
    }
private:
    Node<TYPE>* listStart;
    };```

0 个答案:

没有答案