operator<<
,当我试图在打印方法(const)中使用它时,我收到了一个错误:
覆盖运算符:
ostream& operator <<(ostream& os, Date& toPrint)
{
return os << toPrint.GetDay() << "/" << toPrint.GetMonth() << "/" << toPrint.GetYear();
}
我正在尝试使用它:
void TreatmentHistory::TreatmentHistoryPrint() const
{
cout << m_treatmentDate << "\n" << endl;
}
答案 0 :(得分:8)
您在operator<<
成员函数中使用const
,因此m_treatmentDate
为const
(除非声明为mutable
)。您需要修复operator<<
以获取const
参数:
ostream& operator <<(ostream& os, const Date& toPrint);
请注意,要使其工作GetDay()
,GetMonth()
和GetYear()
也必须是const
成员函数。