C++ 指针+;LinkedList:为什么我会出现这个错误?
我有一个队列类,它保存一个私有LinkedList变量。LinkedList保存数据项指针C++ 指针+;LinkedList:为什么我会出现这个错误?,c++,oop,pointers,C++,Oop,Pointers,我有一个队列类,它保存一个私有LinkedList变量。LinkedList保存数据项指针 class Queue { private: LinkedList* someList; ... 然后,队列尝试使用以下添加方法添加数据项: void Queue::addOne(DataItem* data) { someList->add(data); } 需要注意的是,LinkedList类工作得非常好 当程序试图向队列中添加某些内容时,会发生惊人的崩溃。发生了什
class Queue
{
private:
LinkedList* someList;
...
然后,队列尝试使用以下添加方法添加数据项:
void Queue::addOne(DataItem* data)
{
someList->add(data);
}
需要注意的是,LinkedList类工作得非常好
当程序试图向队列中添加某些内容时,会发生惊人的崩溃。发生了什么事?问题很模糊,代码也不具有代表性。。。可能您忘记分配
someList
…?显示add
的代码?someList
是如何初始化的?。。。您是否初始化过someList
以包含head节点?LinkedList在声明和添加任何内容后工作。可能就是这样。如何分配?我假设在队列的构造函数中,但是如何?LinkedList someList被添加到构造函数中,但我认为这只是一个声明。我们需要看看LinkedList
的默认构造函数是什么样的。您甚至可能不需要使用指针,这样就省去了new
分配的麻烦,也省去了当队列
被破坏时必须正确释放内存的麻烦。free()
是C的。new
分配应该是delete
d>我正在链接列表中存储对象。那么呢?