2016-12-10 1 views
0

Je suis en train de concevoir une classe Node dans laquelle l'une des propriétés est un tableau de 27 autres nœuds. Cependant, je reçois toujours une exception NullReference lorsque j'essaie d'utiliser ce tableau. Je ne sais pas ce que je fais de mal, comme j'essaye de déclarer chaque noeud du tableau. Je déclare le tableau dans les propriétés comme suit:Node Tableau me donnant toujours NullReferenceException

NodoTrie* hijos[27]; 

Et voilà comment j'essaie de les utiliser:

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; 

}

Je sais que le la mise en œuvre n'est pas la plus jolie, ni l'idéal, mais j'aimerais vraiment savoir ce que je dois faire pour que le tableau existe, et Je ne reçois plus cette erreur.

+0

* mais j'aimerais vraiment savoir ce que je dois faire pour que le tableau existe, * - Utilisez 'std :: vector ' et laissez ce pointeur derrière. – PaulMcKenzie

Répondre

0

Que faites-vous dans newArray()? Ceci est une comparaison, vous utilisez "==" au lieu de "=". Donc, c'est une comparaison étrange, et aussi la fonction ne fait rien.