このwhileループではセグメンテーションフォルトが発生していることがわかりますが、理由はわかりません。セグメンテーションフォールトを示すクラスC++でのリンクリストの実装
#include<iostream>
using namespace std;
class zDepthList {
typedef struct node {
int data;
node* next;
node* prev;
} Node;
public:
zDepthList() {
head = NULL;
}
zDepthList(int array[], int length) {
Node *temp, *ptr;
int i = 0;
while(i != length - 1) {
temp = head;
ptr = new Node;
ptr->data = array[i];
i++;
ptr->next = NULL;
if(head == NULL) {
head = ptr;
ptr->prev = NULL;
}
else {
while(temp != NULL) {
temp = temp->next;
}
}
temp->next = ptr;
ptr->prev = temp;
}
}
void out(const char order) {
cout << head->data << endl;
return;
}
private:
Node *head;
};
メインプログラムでこのクラスをどのように使用しているかを確認する必要があります。 – vincent
私たちはあなたの(家)仕事をするつもりはありません。 –
私のメインは、30要素の配列と配列の長さを渡します(zDepthList z(1、30);)。関数(z.out( 'f'))を呼び出します。 – aashman