相关疑难解决方法(0)

为什么调用shared_from_this调用std :: terminate

考虑以下代码:

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();
}
Run Code Online (Sandbox Code Playgroud)

此代码在Visual Studio 2017中终止.我想我在这里做错了.谁能帮我这个?我想在shared_from_this()创建的shared_ptr上.

c++ shared-ptr c++-standard-library c++11 c++17

2
推荐指数
2
解决办法
196
查看次数

标签 统计

c++ ×1

c++-standard-library ×1

c++11 ×1

c++17 ×1

shared-ptr ×1