我有个问题。我正在玩,enable_shared_from_this
并注意到一个奇怪的事情。这个例子工作正常:
#include <iostream>
#include <memory>
using namespace std;
struct Test : enable_shared_from_this<Test>
{
};
int main() {
shared_ptr<Test> ptr(new Test);
return 0;
}
但是当我改变struct
它class
时停止编译!
错误说:
/usr/include/c++/4.8/bits/shared_ptr_base.h:772:58:错误: 'std::enable_shared_from_this' 是 'Test' 的一个不可访问的基础 __enable_shared_from_this_helper(_M_refcount, __p, __p);
有谁知道为什么会这样?