Witam
mam problem:
#include <iostream>
#include <memory>
#include <string>
using namespace std;
struct osoba
{
string imie;
string nazwisko;
int wiek;
osoba() {};
osoba(string imie, string nazwisko, int wiek) : imie(imie), nazwisko(nazwisko), wiek(wiek){};
};
void dodaj(unique_ptr<osoba>&w, string imie, string nazwisko, int wiek)
{
w->imie = imie;
w->nazwisko = nazwisko;
w->wiek=wiek;
}
ostream&operator <<(ostream&wyjscie, osoba const* o)
{
wyjscie << o->imie << o->nazwisko << o->wiek;
return wyjscie;
}
int main()
{
make_unique<osoba>();
unique_ptr<osoba> czlowiek{ new osoba };
dodaj(czlowiek, "Marian", "Kowalski", 19);
clog << czlowiek;
}
Nie wiem gdzie jest błąd ale kompilator protestuje komunikatem: "no operator "<<" matches these operands"
nie wiem co powoduje ten błąd, może ktoś mi pomóc?