且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

dynamic_cast from“void *”

更新时间:2022-06-23 23:11:19

dynamic_cast 只适用于多态类型,即包含虚函数的类。

dynamic_cast works only on polymorphic types, i.e. classes containing virtual functions.

在gcc中,您可以 dynamic_cast void * 但不是来自

In gcc you can dynamic_cast to void* but not from:

struct S
{
    virtual ~S() {}
};

int main()
{
    S* p = new S();
    void* v = dynamic_cast<void*>(p);
    S* p1 = dynamic_cast<S*>(v); // gives an error
}