我一直都在獲得Visual Studio和G ++我試圖GDB但並未從中錯誤列表appened功能
視覺工作室=未處理的異常在0x00CD464F在array2.exe得到任何有用的錯誤:0000005:訪問衝突閱讀位置0xCCCCCCCC。
gdb given =程序接收到的信號SIGSEGV,分段錯誤。 370x000000010040118f列表::追加(此= 0x23aa80,X = 6)的main.cpp:61
#include <iostream>
#include <stdlib.h>
// "arraylist.h"
#include <new>
//#include "myList.h"
using namespace std;
struct node{
int data;
node* next;
};
struct list{
node* head;
void append(int x);
};
int main()
{
list L;
L.append(6);
node* cur = L.head;
while (cur->next != 0)
{
std::cout << cur->data << std::endl;
cur = cur->next;
}
return 0;
}
void list::append(int x)
{
node* tmp = new node;
node* cur = head;
tmp->data = x;
tmp->next;
if (cur->data == 0)
{
head = tmp;
}
else{
while (cur->next != 0)
{
cur = cur->next;
}
cur->next = tmp;
}
}
你沒有得到有用的信息被隱式調用。 gdb說你在main.cpp的第61行有段錯誤。那是哪條線? – m24p
可能是這樣的:'if(cur-> data == 0)' – m24p
'tmp-> next;'嗯......啓用警告。您的編譯器會告訴您類似「代碼無效」的內容。 – WhozCraig