私はC++アプリケーションを実装していますが、私はPocoライブラリも使用しています。具体的には、私はポコロギングフレームワークを使用しようとしています。私は、ロギングメカニズムを作成するために、POCO例の一つから、次のコードを使用するクラスを作成しました:私はPOCO SharedPtrポインタ でPOCO AutoPtrを交換しようとしたとき効率的なバイパス方法エラーC2248は "クラスで宣言された保護されたメンバーにアクセスできない"
AutoPtr<PatternFormatter> pPatternFormatter(new PatternFormatter());
AutoPtr<FormattingChannel>pFormattingChannel(new
FormattingChannel(pPatternFormatter));
pPatternFormatter->setProperty("pattern", "%s: %p : %t");
AutoPtr<ConsoleChannel> pConsoleChannel(new ConsoleChannel());
pFormattingChannel->setChannel(pConsoleChannel);
は、しかし、私は次のビルドエラーが出ます:
エラーC2248「ポコ::のFileChannel ::〜のFileChannel」:クラスで宣言され保護されたメンバーにアクセスすることはできません「ポコ::のFileChannel」
私は検索とのFileChannelクラスは、そのデストラクタが保護していることを発見しました私が使用していると仮定しているそのベースへのポインタを介したオブジェクトの削除を防止するためである。 SharedPtrが公開されているか保護されているアクセス指定子を使用してFileChannelから派生させるか、別の方法でクラスを作成するのが効率的ですか?