Por ejemplo, proponer map<int,void*>hold
donde void*
siempre almacena punteros desde classA
¿es seguro volver a lanzarlo más tarde mediante static_cast?¿Está bien para static_cast un puntero void *
classA* ptr = static_cast<classA*>(holditerator->second);
la razón void*
se utiliza es porque hold
es miembro de una clase definida en un encabezado utilizado por algunos archivos cpp que no saben lo que es classA
. Tendría que incluir el encabezado de las definiciones classA
en estos archivos cpp, lo que no se puede hacer por muchos motivos.
¿Por qué harías esto? Proporcione más contexto, ya que es probable que haya una solución más adecuada. – Johnsyweb
¿Por qué no usa un mapa en primer lugar? –
BatchyX
@BatchyX Supongo que 'hold' no solo contiene classA *? –