未处理的异常访问冲突错误

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-&gt;Next是未定义的(last仍然是NULL) .您需要检查last 本身是否为NULL(而不是仅检查下一项)。您可能也需要对其他函数执行相同的操作(例如 deleteList)。

【讨论】:

以上是关于未处理的异常访问冲突错误的主要内容,如果未能解决你的问题,请参考以下文章

带有消息“SQLSTATE [42000]”的未捕获异常“PDOException”:语法错误或访问冲突:

致命错误:未捕获的异常“PDOException”,带有消息“SQLSTATE [42000]:语法错误或访问冲突 PHP 和 PDO

OpenCV 未处理的异常错误

使用 Visual C++ 2008 时如何解决未处理的异常错误?

创建链表时访问冲突错误

抛出未处理的异常:写访问冲突。 bunnies_array 是 0x5CB3CBA