universal dynamic_cast<void*> equivalent for polymorphic and not polymorphic types

StackOverflow https://stackoverflow.com/questions/17475736

  •  02-06-2022
  •  | 
  •  

Вопрос

I am using dynamic_cast<void*> in a memory manager template to obtain the real address of the object. However dynamic_cast is not allowed for types that are not polymorphic. Is there a more universal way or do I need two versions of the template?

Это было полезно?

Решение

You can use std::is_polymorphic to do a compile-time switch on the two possibilities.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top