Code:
std::ostream& operator<<(std::ostream& os, const BmvMessage& bm);
I don’t see anything incorrect, but it gives the following error:
error: `std::ostream& BMV::BmvMessage::operator<<(std::ostream&, const BMV::BmvMessage&)’ must take exactly one argument.
I do not know why this happens. Any suggestions are welcome. I have done this before and never came across this error. I have also checked online and it looks like:
ostream& operator<< (ostream& out, char c );`
Take
operator<<outside the class, making it a free function. Make it afriendof the class if it needs access toprivateparts.