У меня есть список указателей на объекты. Эти объекты не имеют ничего общего (т.е. нет общего базового класса); для лучшего понимания: это список объектов, которые находятся под курсором мыши в графическом интерфейсе.
Теперь я хотел бы знать, что это за объект. Узел, дескриптор узла, линейный сегмент, тег и т. Д. Однако я не могу использовать typeid (* ptr)
, поскольку ptr - это const void *
.
Есть ли решение для этого? Могу ли я принудительно использовать typeid, поскольку я знаю, что указатели всегда указывают на объекты, а не на простые значения? Или нет способа добавить какой-то поддельный общий базовый класс?
(edit: В настоящее время я делаю это таким образом, что сохраняю структуру в списке, который дополнительно хранит тип объекта (как перечисление). Может быть, я следует изменить это, чтобы сохранить объект type_info
...)