我正在使用 dynamic_cast<void*>
在内存管理器模板中获取对象的真实地址。
然而dynamic_cast
不允许用于非多态类型。
是否有更通用的方法,或者我是否需要两个版本的模板?
最佳答案
您可以使用 std::is_polymorphic
对两种可能性进行编译时切换。
关于c++ - universal dynamic_cast<void*> 等价于多态和非多态类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17475736/