jeudi 10 mai 2018

Why calling shared_from_this calls std::terminate

Consider this code:

class A : public std::enable_shared_from_this<A>
{
public:
     std::shared_ptr<A> f()
     {
          return shared_from_this();
     }
};

int main()
{
    A a;
    std::shared_ptr<A> ptr = a.f();
}

This code terminated in Visual Studio 2017. I guess I am doing something wrong here. Can anyone help me with this? I want a std::shared_ptr<> on a created by shared_from_this().

Aucun commentaire:

Enregistrer un commentaire