class TClass
{
class EmbeddClass
{
public:
....
protected:
virtual ~EmbeddClass() {}
}
boost::scoped_ptr<EmbeddClass> scpEmbeddClass;
}
vs2010 抱怨上面的代码。我可以通过将 定义~EmbeddClass
为公共函数来解决问题。
问题> 这个问题的原因是什么?是因为 scoped_ptr 的析构函数无法访问 protected ~EmbeddClass
吗?在我看来 shared_ptr 没有这样的问题。
谢谢