ofstream& operator<<(ostream &outStream, const EventClass &eventObject)
{
outStream << eventObject.getEventName() << " event at "
<< eventObject.getEventTime() << endl;
return(outStream);
}
Я считаю, что этого фрагмента достаточно для анализа ошибки.ошибка «перегрузки» оператора: передача «const ....»
Когда я компилирую мой код, я получаю следующие ошибки:
error: passing ‘const EventClass’ as ‘this’ argument of ‘std::string EventClass::getEventName()’ discards qualifiers [-fpermissive]
outStream << eventObject.getEventName() << " event at "error: passing ‘const EventClass’ as ‘this’ argument of ‘int EventClass::getEventTime()’ discards qualifiers [-fpermissive]
<< eventObject.getEventTime() << endl;error: invalid initialization of reference of type ‘std::ofstream& {aka std::basic_ofstream&}’ from expression of type ‘std::ostream {aka std::basic_ostream}’
return(outStream);
Любые идеи, как решить эти ошибки?
Метод 'getEventName' помечен как' const'? –
Нет, это не так. Должен ли он быть const для решения проблемы? – nm17
Да, он должен быть const, чтобы решить проблему. – kfsone