c++ - identifier "ostream" is undefined error -
i need implement number class support operator << output. have error: "identifier "ostream" undefined" reason eventhough included , try
here header file:
number.h
#ifndef number_h #define number_h #include <iostream> class number{ public: //an output method (for type inheritance number): virtual void show()=0; //an output operator: friend ostream& operator << (ostream &os, const number &f); }; #endif why compiler isnt recognize ostream in friend function?
you need qualify name ostream name of namespace class lives in:
std::ostream // ^^^^^ so operator declaration should become:
friend std::ostream& operator << (std::ostream &os, const number &f); // ^^^^^ ^^^^^ alternatively, have using declaration before unqualified name ostream appears:
using std::ostream; this allow write ostream name without full qualification, in current version of program.
Comments
Post a Comment