2011-12-24 2 views
0

나는이 책에서 연습 문제로 연습하여 C++를 배우려고하지만 또 다른 문제가있는 것 같습니다. 나는 ostream_withassign 클래스가 iostream 라이브러리에서 발견된다는 것을 알고 있지만 그 코드는 포함되어 있지만 아직도 코드에서 누락 된 부분을 여전히 이해하지 못합니다. 나는 표준을 시도했지만 그 중 하나가 작동하지 않습니다. 내가 누락 된 부분에 대해 알려주십시오. 미리 감사드립니다.오류 C2504 : 'ostream_withassign': 기본 클래스가 정의되지 않았습니다.

#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

+0

이 질문은 C++ 03에서 할당이 비활성화되었지만 C++ 11에서 (std :: move를 통해) 활성화되었으므로 아이러니하게시기 적절할 수 있습니다. 그러나'ostream' 파생물이'streambuf'를 어떻게 가져 와서 X, Y 좌표에 출력하는지 궁금합니다. 이것은 ostream이 아닌'streambuf' 파생물을 필요로합니다. – Potatoswatter

+0

오류 C2504 : 'ostream_withassign': 기본 클래스가 정의되지 않았습니다. – Kobojunkie

답변

2

귀하의 책은 매우 오래되었습니다 (컴퓨팅 용어로). ostream_withassign 클래스는 "iostream.h"back in Visual Studio 6.0에서 사용할 수있는 비표준 유형입니다. 당신은 아마 당신의 참조 자료를 업데이트하고 더 현대적인 것을 사용해야합니다. 그 이후로 많은 것들이 C++에서 변경되었습니다 (1998 년). (가장 최신 업데이트는 standardized this year이었습니다.)

+0

수정본에이 특정 클래스를 대체 할 수 있습니까? 아니면 기존 도서관을 계속 활용할 수있는 방법이 있습니까? – Kobojunkie

+0

@ Kobo : 당신이 그 오래된 도서관을 가지고 갈 수있는 가장 큰 장점은 그것을 대체하는 것입니다. 아니, 정말로. – Xeo

+0

대체 할 수있는 것이 확실하지 않습니다. 나는 C++을 배우기 위해이 책의 연습 문제를 다뤄 봤습니다. – Kobojunkie

관련 문제