0
在我的課definiton我有以下友元函數:操作符<<和operator >>重載函數
friend ostream& operator << (ostream& out, const Person& p1);
friend istream& operator >> (ostream& out Person& p1);
在我implentation文件:
ostream& operator << (ostream& out, const Person& p1)
{
out<< p1.age; //this is a private variable
}
istream& operator << (istream& in, Person& p1)
{
in >> p1.age; //this is a private variable
}
但是當我編譯,我得到一個錯誤,說「ostream」不命名類型的朋友ostream &運算符(ostream &出,const人& p1).. istream的同樣的事情。由於這些是朋友功能,他們可以訪問私有變量,即年齡,所以問題是什麼?
的您是否嘗試過排位賽'ostream'用'std'命名空間,例如'的std :: ostream'? – dreamlax
您需要包含''和''。包括''也可以。 –
juanchopanza
你的函數也應該返回流。即'退出;' – Chemistpp