class TClass
{
class EmbeddClass
{
public:
....
protected:
virtual ~EmbeddClass() {}
}
boost::scoped_ptr<EmbeddClass> scpEmbeddClass;
}
vs2010 は上記のコードに文句を言います。~EmbeddClass
をパブリック関数として定義することで問題を解決できます。
質問>この問題の原因は何ですか?scoped_ptr のデストラクタが protected にアクセスできないため ~EmbeddClass
ですか? shared_ptr にはそのような問題はないように思えます。
ありがとうございました