estou precisando implementar um codigo que calcule a altura de uma arvore Trie na linguagem C.
a struct do nó é a seguinte:
struct trie_cel {
char tipo; // 'I': interno / 'P': palavra
struct trie_cel *filho(TAMANHO_ALFABETO); // Utilizar a funcao CHAR_TO_INDEX para obter o no filho de cada letra.
};
typedef struct trie_cel no;
estou tentando calcular a altura da arvore Trie com recursão mas estou com um erro, essa é minha função:
if(r == NULL) return -1;
if(!r) return 0;
int alt = 0;
int alturaM = 0;
no** i = r->filho;
no** fim = i + (sizeof(r->filho) / sizeof(no *));
while(i != fim){
alt = altura(r->filho(i))+1;
if(alt > alturaM){
alturaM = alt;
}
}
return alturaM;
Porem esta sendo apresentado o seguinte erro e não estou conseguindo localiza-lo, alguem poderia me ajudar?
erro:
trie.cpp: In function ‘int altura(no*)’:
trie.cpp:146:32: error: invalid types ‘trie_cel* (27)(no** {aka trie_cel**})’ for array subscript
alt = altura(r->filho(i))+1;
^
chmod: cannot access 'vpl_execution': No such file or directory