Função int retornando lixo de memória C++

Tenho uma função que retorna inteiro, porém quando a chamo na main o retorno é um valor absurdo, provavelmente lixo de memória. As variáveis foram inicializadas corretamente e logo antes do retorno (no escopo da função) o valor de “indice” é normal (como pode ser visto no terminal). alguma ideia do que possa ser?

if((indice < x->getNumChaves()) && (chave == x->getChaves(indice))){ // chave encontrada!
    cout << "BUSCA CHAVE (TREE) --> Chave encontrada na pos.: " << indice << endl;
    return(indice);

}

inserir a descrição da imagem aqui

Como pode ser visto no print a posição encontrada foi 1, porém na main o valor 214608672 foi retornado.