我有一個具有多級繼承的項目。它是這樣的C++類構造函數定義public,表示它是受保護的
XMLs -> Entity -> Item
然後有很多項目類繼承從物品,然後從實體繼承。現在,我已將每個班級定義爲如圖所示
class Entity: public XMLs
{
public:
Entity() {}
virtual ~Entity() {};
//other functions
};
這是一個給我帶來麻煩的人。每當我嘗試在我的主要功能在所有真正創建一個項目對象或任何類型的對象,它給了我下面的錯誤
/usr/include/c++/4.6/ostream: In constructor ‘Entity::Entity()’: /usr/include/c++/4.6/ostream:363:7: error: ‘std::basic_ostream<_CharT, _Traits>::basic_ostream() [with _CharT = char, _Traits = std::char_traits]’ is protected
這是什麼意思?我關於構造函數和保護的所有內容都涉及到關鍵字protected我公開的地方。
你沒有發佈你的實際代碼。付出一些努力來縮小問題的範圍,然後發表一個有代表性的最小例子。 – 2013-02-11 22:46:00
答案出現在您未分享的錯誤消息中。在自己的源文件中提到特定行的錯誤消息。 – 2013-02-11 22:47:16
@DrewDormann同意 - 太接近本地化 – djechlin 2013-02-11 22:50:33