私のC++コードC++:セグメンテーションフォールト
#include <iostream>
#include <cstdlib>
using namespace std ;
struct Node {
int data ;
struct Node* next;
};
Node* Insert(Node *head,int data);
int main(){
struct Node* head = NULL;
struct Node* second = NULL;
struct Node* third = NULL;
head = (struct Node*)malloc(sizeof(struct Node));
second = (struct Node*)malloc(sizeof(struct Node));
third = (struct Node*)malloc(sizeof(struct Node));
head->data = 7;
head->next = second;
second->data = 17;
second->next = third;
third->data = 37;
third->next = NULL;
head = Insert(head,3);
}
Node* Insert(Node *head,int data)
{
while (true)
{ cout << "hey" ;
if (head == NULL)
{
cout << "hey";
head->data = data ;
head->next = NULL ;
break ;
}
head = head->next ;
}
return head;
}
私はC++でリンクリストを学ぶことトリングています。 私が定義したInsert()
関数を使用して、ノードにデータを挿入するためのデータを渡しています。ターミナル
Segmentation fault (core dumped)
へ
私の出力は、私は私が間違った方法でInsert()
機能をinvocatingと思います。 助けてください! ありがとう!
デバッグは、デバッガでステップバイステップで、あなたは間違って何が起こっているか知っていますよ。 –
C++コードでmallocを使用しないでください。新しい演算子を使用します。 "using namespace std"を使用せず、どこにでもprintステートメントを置くのではなく、デバッガを使う方法を学んでください。 – LukeG
main関数のすぐ下の最初の行に 'cout'を追加しようとしました。 何も印刷されませんでした。 実行時に問題が発生しました –