1
私はこのようになりますクラスを持っている:私はData
値を割り当てるために行くとき「char」に「char」を割り当てると、seg faultが発生するのはなぜですか? C++
class myTreeNode
{
public:
char Data;
myTreeNode *childA = NULL; //A's always go in child1
myTreeNode *childT = NULL; //T's always go in child2
myTreeNode *childC = NULL; //c's always go in child3
myTreeNode *childG = NULL; //G's always go in child4
};
はしかし、私はワンセグ障害を受けます。私はこのような操作を行います。
root->childT->Data = p_data;
どこp_data
がmyTreeNode *root = new myTreeNode;
によって作成されたポインタchar = t
とroot
されています。なぜData
に値を割り当てると、segフォルトが発生するのですか? char Data = 't'
と同じことではありませんか?
あなたはchildT'、その時点で非nullにする '設定がありますか? – fuzzything44
いいえ、私はしませんでしたが、今私はします。 –
'root-> childT-> Data = p_data;' charにcharを代入するだけではなく、2つのポインタを逆参照します。それらの逆参照のうちの1つが、セグメンテーションの誤りである可能性が非常に高い。 「なぜ2つのポインタを逆参照し、char segfaultにcharを割り当てるのですか?あなたはたぶんここで質問する必要はないでしょう。 –