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