Domanda

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?

È stato utile?

Soluzione

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top