Sorry it's lame but I can't figure it out:
class Address {
public:
uint32_t addr;
uint16_t port;
public:
Address();
Address(uint32_t addr, uint16_t port);
Address(const Address & src);
Address& operator=(const Address &src);
bool isNull();
friend std::ostream& operator<<(std::ostream& os, const Address& addr);
friend std::ostream& operator<<( const Address& addr, std::ostream& os);
};
std::ostream& operator<<( std::ostream& os, const Address& addr){
return os << " ( " << addr.addr << " : " << addr.port << " ) ";
}
std::ostream& operator<<( const Address& addr, std::ostream& os){
return os << addr;
}
says:
../src/streamShare/types.h: In function ‘std::ostream& streamShare::operator<<(std::ostream&, const streamShare::Address&)’:
../src/streamShare/types.h:46: error: no match for ‘operator<<’ in ‘os << " ( "’
../src/streamShare/types.h:45: note: candidates are: std::ostream& streamShare::operator<<(std::ostream&, const streamShare::Address&)
Maybe it's just that I'm in sunday hangover... but hey ostream& << "oihoih" should work !!!