Aracılığıyla paylaş


Uyarı C26466

Aşağı yayınları kullanmayın static_cast . Polimorfik bir türden tür ataması dynamic_cast kullanmalıdır.

Ayrıca bkz.

C++ Çekirdek Yönergeleri Türü.2

Örnek

struct Base {
    virtual ~Base();
};

struct Derived : Base {};

void bad(Base* pb)
{
    Derived* test = static_cast<Derived*>(pb); // C26466
}

void good(Base* pb)
{
    if (Derived* pd = dynamic_cast<Derived*>(pb))
    {
        // ... do something with Derived*
    }
    else
    {
        // ... do something with Base*
    }
}