2011-12-24 114 views
0

我想通過練習練習從書中學習C++,但我似乎遇到了另一個問題。我知道ostream_withassign類是在iostream庫中找到的,但是我仍然不明白我在代碼中仍然缺少什麼。我試過性病,但似乎也沒有工作。任何人都可以請告訴我我缺少的東西。提前致謝!錯誤C2504:'ostream_withassign':基類undefined

#include "stdafx.h" 
#include "Conios.h" 


class ConsoleStream :public ostream_withassign, public Conios 
{ 
protected: 
    char X; 
    char Y; 


public: 
    ConsoleStream(void); 
    ConsoleStream(std::streambuf * Buffer); 
    void SetX(char XX); 
    void SetY(char YY); 
    ConsoleStream &operator =(std::ostream &Out); 
    ~ConsoleStream(void); 
}; 
+1

'ostream_withassign'不是C++標準庫中包含的類。另外,確切的錯誤信息是什麼? – Xeo 2011-12-24 07:44:17

+0

由於賦值在C++ 03中被禁用,但在C++ 11中啓用(通過'std :: move'),此問題可能具有諷刺意味。然而,我想知道'ostream'派生物可以如何接受任何'streambuf'並將其輸出放在X,Y座標處。這更可能需要'streambuf'派生,而不是'ostream'。 – Potatoswatter 2011-12-24 08:14:30

+0

錯誤C2504:'ostream_withassign':基類未定義 – Kobojunkie 2011-12-24 08:25:27

回答

2

你的書一定很舊(用計算術語)。 ostream_withassign類是非標準類型,可在「iostream.h」back in Visual Studio 6.0中找到。你可能應該更新你的參考資料,並使用更現代化的東西,因爲從那以後許多事情在C++中發生了變化(c.1998)。 (實際上,最新的更新爲standardized this year)。

+0

修訂中是否有替代此特定類的方法?還是有辦法我仍然可以利用舊圖書館? – Kobojunkie 2011-12-24 08:29:15

+0

@Kobo:你可以從這個舊圖書館中獲得的最大優勢是取代它。不完全是。 – Xeo 2011-12-24 08:40:57

+0

我不確定它可以取代什麼。我一直試圖按照本書中的練習來學習C++ – Kobojunkie 2011-12-24 08:46:55