未处理的异常访问冲突错误
Posted
技术标签:
【中文标题】未处理的异常访问冲突错误【英文标题】:Unhandled exception Access violation error 【发布时间】:2015-02-10 20:47:06 【问题描述】:在这些行中,我一直面临着这个“访问冲突错误”的事情。我仍然找不到它的根本原因。如果有人帮助我解决这个问题,我将不胜感激。谢谢。
#include <iostream>
using namespace std;
struct Node
int data;
Node *Next;
;
struct list
int count;
Node*Head;
;
void IntializeList(list &L)
L.count=0;
L.Head=NULL;
void AddElement(list &L,int DataIn)
Node*Temp= new Node;
Node*last=L.Head;
while(last->Next!=NULL)
last=last->Next;
last->Next=Temp;
Temp->data=DataIn;
Temp->Next=NULL;
void count(Node*L)
int c=0;
while (L->Next!=NULL)
L=L->Next;
c++;
void DeleteList(Node*L)
while(L->Next!=NULL)
Node*temp=L;
L=L->Next;
delete temp;
void SplitList(list &L)
Node*Mid=L.Head;
Node*Final=L.Head;
Node*L2=L.Head;
/*Final=L->Head->Next->Next;
Mid=L->Head->Next; */
while(Final!=NULL)
Final=Final->Next->Next;
Mid=Mid->Next;
Node*L3=Mid->Next;
Mid->Next=NULL;
cout<<"L2= ";
while(L2!=NULL)
cout<<L2->data;
L2=L2->Next;
cout<<"L3= ";
while(L3!=NULL)
cout<<L3->data;
L3=L3->Next;
void main()
list L1;
IntializeList(L1);
AddElement(L1,2);
AddElement(L1,3);
AddElement(L1,4);
AddElement(L1,5);
AddElement(L1,9);
Node*Temp=L1.Head;
//printing function
while(Temp->Next!=NULL)
cout<<Temp->data;
Temp=Temp->Next;
SplitList(L1);
【问题讨论】:
你需要提供一些回溯 【参考方案1】:首先,最好在将问题发布到 SO 时澄清您的问题。 由于您正在运行 Visual C++,因此您可以尝试在调试模式下运行该程序。它可能会向您显示错误发生(或检测到)的位置。
因为head
在第一次创建列表时被初始化为NULL
,当你调用AddItem
时,它会在一个空列表上失败,因为last->Next
是未定义的(last
仍然是NULL
) .您需要检查last
本身是否为NULL
(而不是仅检查下一项)。您可能也需要对其他函数执行相同的操作(例如 deleteList
)。
【讨论】:
以上是关于未处理的异常访问冲突错误的主要内容,如果未能解决你的问题,请参考以下文章
带有消息“SQLSTATE [42000]”的未捕获异常“PDOException”:语法错误或访问冲突:
致命错误:未捕获的异常“PDOException”,带有消息“SQLSTATE [42000]:语法错误或访问冲突 PHP 和 PDO