ciao.
Sto utilizzando un semplice smart pointer di un progetto opensource in opengl(lo smart pointer è del progetto ).
Ho un semplice problema a cui chiedo soluzione:
Ho uno smart pointer che contiene altri smart pointer, quando questo arriva a riferimenti 0 scatta automaticamente il decremento dei riferimenti degli smart pointer annidati?
Il problema è che non so perchè lo smart pointer arriva quando dovrebbe essere distrutto ad avere un conteggio di riferimenti == 1 anzichè == 0.
e non viene distrutto , di conseguenza tutti gli altri smart pointer annidati non decrementano e mi trovo con un bel po di memory leak.
Che tipo di errori potrei aver commesso per arrivare a questo risultato?
ps.se decremento manualmente lo smart pointer tutto funziona correttamente: gli oggetti vengono distrutti e non ho leak.
grazie.