我正在實現一個C++應用程序,其中還使用了Poco庫。具體而言,我試圖使用poco日誌框架。我已經創建了一個使用下面的代碼從POCO的例子之一,以創建一個日誌機制類:繞過錯誤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);
然而,當我試圖與POCO SharedPtr指針來代替POCO AutoPtr 我得到下面的生成錯誤:
錯誤C2248「波科:: FileChannel ::〜FileChannel」:不能訪問類中聲明保護成員「波科:: FileChannel」
我已搜查,發現FileChannel類有它的析構保護我假設使用它以防止通過指向其基地的對象的刪除。 讓我的類從FileChannel派生出來,使用公共或受保護的訪問說明符爲SharedPtr工作或以其他方式工作是否有效?