フレンド。だから私はエディタとしてvimを使ってubuntuでバイナリ検索ツリークラスを作成しています。私がプログラムを実行すると、私はいつもセグメンテーションフォルト(コアダンプ)エラーが出ます。奇妙なことは、NetBeansでこのプログラムを実行すると、完全に機能したということです。これは私がすでにデバッグにGDBを使用し、そしてそれは私にprintHelper機能上の誤りを指摘したが、私はエラーを見ることができない私のコードセグメンテーションフォルト(コアがダンプされている)を修正するのに役立つ必要があります
#include <iostream>
using namespace std;
class BST
{
struct node {
int data;
node* left;
node* right;
};
private:
node* root;
node* addHelper(node* temp, int data)
{
if(temp == NULL)
{
temp = new node;
temp->left = temp->right = NULL;
temp->data = data;
return temp;
}
if(data < temp->data)
{
temp->left = addHelper(temp->left, data);
}
else if(data > temp->data)
{
temp->right = addHelper(temp->right, data);
}
return temp;
}
void printHelper(node* cur)
{
if(cur == NULL)
{
return;
}
else {
printHelper(cur->left);
cout << cur->data << " ";
printHelper(cur->right);
}
}
public:
void add(int value)
{
root = addHelper(root, value);
}
void printInorder()
{
printHelper(root);
}
};
int main()
{
cout << "Second Test, linux runnning sucsesfully"<<endl;
BST mytree;
mytree.add(20);
mytree.add(25);
mytree.add(10);
mytree.add(22);
mytree.add(15);
mytree.add(12);
mytree.add(23);
mytree.printInorder();
return 0;
}
です。あなたがこれを修正する方法を知っていれば私を助けてください。 ありがとうございます
また、初期化子リスト@Milindの呼び出し – CMouse