我尝试重载>>操作员,但我得到一些错误。有什么不对?
class Holiday {
public:
friend ifstream& operator >> (ifstream&
st, const Holiday& h) {
st >> h.id ;
st >> h.dest ;
st >> h.type;
st >> h.price;
return stream;
}
protected:
int id;
string dest;
string type;
int price;
};
答案 0 :(得分:2)
在参数声明中删除限定符const
const Holiday& h
此外,你必须返回st
return st;
如果函数声明为
,那也会更好friend istream& operator >> (istream& st, Holiday& h){