2016-12-10 6 views
0

プロパティの1つが27の他のノードの配列であるNodeクラスを設計しています。ただし、この配列を使用しようとすると、常にNullReference例外が発生します。配列から各ノードを宣言しようとすると、間違っていることはわかりません。私が知っているノード配列は常に私にNullReferenceExceptionを与えます

void NodoTrie::Insertar(string word) { 
char a = word.at(0); 
newArray(); 
NodoTrie* rec; 
int x = (int)a; 
if (x == 165) 
    x =79; 
else if (x >= 79) 
    x++; 
x -= 65; 

if (hijos[x] == NULL) 
    hijos[x] = new NodoTrie; 
rec = hijos[x]; 
cout << "Se inserto la" << a << endl; 
if (word.length() == 1) 
    rec->endWord = true; 
else 
    rec->Insertar(word.erase(0, 1)); 

}

void NodoTrie::newArray() { 
for (int i = 0; i < 27; i++) 
    hijos[i] == new NodoTrie; 

}

NodoTrie* hijos[27]; 

そして、これは私がそれらを使用しようとする方法ですが:私のような性質の配列は、以下の宣言します実装が最もかっこいい、または理想的ではありませんが、配列が存在するように何をする必要があるかを本当に知りたいですもうこのエラーは発生しません。

+0

*しかし、私は本当に配列が存在するようにするために何が必要なのか知りたいです。 - 'std :: vector 'を使い、このポインタを残しておいてください。 – PaulMcKenzie

答えて

0

newArray()で何をしていますか?これは比較です。あなたは "="の代わりに "=="を使用しています。これは奇妙な比較であり、機能も何もしていません。

関連する問題