Se intendi effettuare solo una delete sul puntatore che ti interessa, indentificare il tipo non è necessario.
Puoi chiarire questo punto?
infatti , hai ragione ho girato intorno a questo problema perchè probabilmente non ho capito:

per fare il delete del puntatore devo sapere cosa rimuovere ma soprattutto avere l'indirizzo di cui voglio fare il delete,che sia nel vector(che adesso cambierò con una lista) o "fuori dalk vector".
Per esempio:
ho una classe che si occupa di svariate cose CLine , deriva da una CEntity.
CLine ha un vector

codice:
vector<CDataset> vDatasets;
i dataset saranno colore, punticliccabili ecc...
ogni dataset prende come parametro CLine nella sua proprietà parent.
un dataset puo' essere aggiunto o rimmosso , effettivamente se tengo traccia del suo indirizzo, ad es nella parte opengl col picking(che poi è quello che devo fare con questi dataset) sullo schermo mi faccio ritornare l'indirizzo del dataset che ho cliccato posso cancellarlo con una delete,
domanda :ma poi come rimuovere dal vector il puntatore bad pointer(penso si chiami cosi)?

è questo che intendevi?
ciao.