Witam przepraszam że nie wiem do końca o co chodzi.
Otóż mam krotki kod.
struct dane1
{
string nazwa;
int ilosc;
string skrot;
};
struct dane2
{
string data,imie,dopisek;
};
int licznik=0;
vector <dane1> przesyl1;
vector <dane2> przesyl2;
int main()
{
wczytajp1();
for(int i=0; i<licznik; i++)
{
cout<<przesyl1[i].nazwa<<" "<<przesyl1[i].ilosc<<" "<<przesyl1[i].skrot<<endl;
}
fstream plik;
string linia;
plik.open("Plik2.txt",ios::in);
while(getline(plik,linia))
{
stringstream wejscie{linia};
string podzial {};
vector <string> wyjscie;
while(getline(wejscie, podzial, ';'))
{
wyjscie.push_back(dane2{wyjscie[0],wyjscie[1],wyjscie[2]});
}
wyjscie.clear();
}
plik.close();
return 0;
}
Wszystko co związane z dane1 proszę zignorować bo działa poprawnie. Problem jest taki że wyświetla mi w pętli gdzie zapisuję już podzielone dane (linia 34) wprowadzone taki błąd:
no matching function for call to 'std::vector<std::basic_string<char> >::push_back(dane2)'|
Czyli nie znaleziono funkcji do wywołania w dane2? Dlaczego skoro w innych kodach tak robiłem i działało?