Cześć, podczas kompilowania programu wyskakuje mi taki błąd, z którym nie potrafię sobie poradzić
"no matching function for call to 'osoba::osoba(<brace-enclosed initializer list>)'"
Program wygląda tak:
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
struct osoba
{
string imie;
string nazwisko;
string pesel;
};
osoba *podaj_wsk()
{
string im="", naz="", pes="";
for(int i=0; i<6; i++)
im+=(( rand() %( 'z' - 'a' + 1) ) + 'a' );
for(int i=0; i<9; i++)
naz+=(( rand() %( 'z' - 'a' + 1) ) + 'a' );
for(int i=0; i<11; i++)
pes+=(( rand() %( '9' - '0' + 1) ) + '0' );
osoba czlowiek = new osoba{im,naz,pes};
return new czlowiek;
}
int main()
{
osoba * tab_wsk = new osoba[10];
for(int i=0; i<10; i++)
tab_wsk[i]=podaj_wsk();
return 0;
}
I jego aktualnym zadaniem jest wypełnienie tablicy wskaźnikami do dynamicznie utworzonych zmiennych (zmienne ma dostarczać osobna funkcja, która zarezerwuje pamięć oraz zainicjalizuje jakimiś wylosowanymi wartościami).