enable_shared_from_this多继承的疑问


#1

下面的代码编译会失败,有什么解法么?模板加上多继承,脑子转不过来了 class A : boost::enable_shared_from_this {

};

class B : public A, public boost::enable_shared_from_this {

};

typedef boost::shared_ptr BPtr;

int _tmain(int argc, _TCHAR* argv[]) { BPtr p; B * s = new B(); p.reset(s); return 0; }


#2

enable_shared_from_this 是个模板呀。

需要使用 enable_shared_from_this<A>


#3

用了的,打漏了public boost::enable_shared_from_this public boost::enable_shared_from_this


#4

不是打漏,是发不出来


#5

确实不支持多重继承。 因为这意味着双 delete ,你知道 双 delete 的意义!