Hello to all, i have coded an observer pattern
error C2027: use of undefined type 'ISubject'Code:class IObserver; class ISubject { public: public: ISubject(); virtual ~ISubject(); virtual void RegisterObserver(IObserver*) = 0; // Observer only interest in certain aspect virtual void RegisterObserver(IObserver*, bool) = 0; virtual void UnRegisterObserver(const IObserver*) = 0; // An Observer with 1 subject virtual void NotifyObserver() = 0; // An Observer with many subject virtual void NotifyObserver(const ISubject&) = 0; }; class IObserver { public: IObserver(); virtual ~IObserver(); virtual void Update(ISubject*) = 0; // Observer only interest in certain aspect //virtual void Update(); }; class Subject : public ISubject { public: Subject(); Subject(size_t); ~Subject(); void RegisterObserver(IObserver*); void RegisterObserver(IObserver*, bool); void UnRegisterObserver(const IObserver*); void NotifyObserver(); void NotifyObserver(const ISubject&); void setValue(const size_t&); size_t getValue() const; private: size_t value; std::vector<IObserver*> cont; }; Observer::Observer() { } // ============================================= Observer::~Observer() { } // ============================================= void Observer::Update(ISubject* observSubject) { // Error Here cout << observSubject->getValue(); }
error C2227: left of '->getValue' must point to class/struct/union/generic type
Please help.
Thanks.


Reply With Quote


Bookmarks