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