C++LinkedList错误:访问冲突错误
C++ LinkedList error: Access violation error
我正在尝试用C++实现链表。以下是我的代码,我得到了这个异常
LinkedList.exe中0x012F4C61处的首次机会异常:0xC0000005:读取位置0xCDFCA94C时发生访问冲突。
头文件
#pragma once
#include "LinkNode.h"
class LinkedList
{
private:
LinkNode *head;
LinkNode *tail;
public:
LinkNode add(int data);
void print();
LinkNode getHead();
LinkedList(void);
~LinkedList(void);
private:
void modify();
};
Cpp文件
#include "stdafx.h"
#include "LinkedList.h"
#include <iostream>
using namespace std;
LinkedList::LinkedList(void)
{
this->head = NULL;
this->tail = NULL;
}
LinkedList::~LinkedList(void)
{
}
LinkNode LinkedList :: add(int data)
{
if(this->head == NULL)
{
this->head = new LinkNode(data);
this->tail = head;
return *head;
}
else
{
LinkNode node(data);
tail->next = &node;
tail = tail->next;
}
}
主要功能
int _tmain(int argc, _TCHAR* argv[])
{
LinkedList linklist;
linklist.add(1);
linklist.add(2);
linklist.add(3);
linklist.add(4);
linklist.add(5);
linklist.print();
system("pause");
}
LinkNode node(data);
tail->next = &node;
tail = tail->next;
node
驻留在堆栈上,它的生存时间随着控件离开LinkedList::add
成员函数而结束。而是动态分配tail->next
节点。
另外,析构函数需要正确地释放动态获取的资源。目前,该程序存在内存泄漏。
相关文章:
- 0xC0000005:访问冲突写入位置0xCDCDCDCD动态分配错误
- 使用 EvtSetChannelConfigProperty() 函数时出现访问冲突错误
- 引发异常:读取访问冲突.**此**0x40错误
- 在尝试使用CUDA分配内存时,我遇到了访问冲突写入位置错误
- cv::resize() 失败并出现访问冲突错误(由 NULL> 处的 <struct 引起)
- 在 C 代码中调用 Python 函数时第三次出现访问冲突写入位置错误
- 错误 : 异常 : 引发未处理的异常: 读取访问冲突.0xDDDDDDDD临时温度
- 读取访问冲突. _Mycont 在 C++ 中将 udp 数据放入向量时出现 nullptr 错误
- 将 std::string 作为参数从一个 DLL 传递到另一个 DLL 引发访问冲突错误
- 遵循官方 Direct2D 示例,但出现访问冲突错误
- Windows错误:异常:使用从C++到Python的ctypes创建DLL时出现访问冲突或Windows错误193
- C++访问冲突读取位置错误
- Eigen SparseLU解决错误读取访问冲突,这>m_sup_to_col被0x111011101110112
- C++ 抛出读取访问冲突错误,但我不确定为什么。平铺滑块益智游戏
- 为什么我的顶点缓冲区对象出现访问冲突错误?
- 尝试创建结构对象,在位置0x3FE00000中创建访问冲突写入错误
- 销毁 Box2D 主体 - 读取访问冲突错误
- C++数组错误:访问冲突读取位置0xC0000005
- C++LinkedList错误:访问冲突错误
- 错误访问冲突写入位置0x00229C20.尝试在控制台中输入字符串时