Salve, vi scrivo per un problema con BST che sto avendo: in sostanza devo creare l'albero, eseguire tutte le operazioni di inserimento e cancellazione e dopo leggere i valori chaivi dei quali devo trovare i successori e stamparli(nel caso non siano presenti il programma deve stampare solo -1), solo che funziona per metà e in console mi da il seguente errore:
terminate called after throwing an instance of 'std:ut_of_range'
what(): basic_string::substr: __pos (which is 1) > this->size() (which is 0)
Link codice(non mi fa pubblicare tutto perché troppo lungo) : https://pastebin.com/cP3JjihZ
Link file Input.txt : https://pastebin.com/BSJdhzKf
Spero possiate aiutarmi perché davvero non riesco a capire dove sia l'errore anche se in qualche modo ha a che fare con substr ma in altri programmi ha funzionato tranquillamente