Hej,
Mój problem polega na odwołaniu się do zagnieżdżonej struktury DataUrodzenia w funkcji DodajOsobe
Przy próbie przypisania czegoś w taki sposób : tmp->Data.Dzien=PodanyDzien; wyskakuje mi błąd: error: field 'Data' has incomplete type 'DataUrodzenia'
Znalazłby się śmiałek który pokazałby mi co robię źle ?
#include <iostream>
#include <stdlib.h>
#include <string>
using namespace std;
struct Osoba
{
int ID;
string Imie;
string Nazwisko;
struct DataUrodzenia Data;
string Adres; // Ulica + nr.domu
string Miasto;
string InneDane;
Osoba *next;
Osoba *prev;
};
struct DataUrodzenia
{
int Dzien;
int Miesiac;
int Rok;
}Data;
struct Osoba *tmp; // Wskaźnik tymczasowy
struct Osoba *head; // Pierwszy element listy
struct Osoba *tail; // Ostatni element listy
void menu();
void DodajOsobe(struct Osoba *tmp,struct Osoba *head,struct Osoba *tail,string PodaneImie,string PodaneNazwisko,string PodanyAdres,string PodaneMiasto,string PodaneInneDane,int PodanyDzien,int PodanyMiesiac,int PodanyRok);
int main()
{
string PodaneImie,PodaneNazwisko,PodanyAdres,PodaneMiasto,PodaneInneDane;
int wybor,PodanyRok,PodanyMiesiac,PodanyDzien;
while(1)
{
menu();
cin>>wybor;
switch(wybor)
case(1):
DodajOsobe(tmp,head,tail,PodaneImie,PodaneNazwisko,PodanyAdres,PodaneMiasto,PodaneInneDane,PodanyDzien,PodanyMiesiac,PodanyRok);
}
}
void menu()
{
cout<<"1) Dodaj nowa osobe"<<endl;
cout<<"2) Usun osobe"<<endl;
cout<<"3) Wyszukaj osobe"<<endl;
cout<<"4) Wyswietl baze osob wg nazwisk"<<endl;
cout<<"5) Modyfikuj osobe po ID"<<endl;
cout<<"6) Zapisz do pliku"<<endl;
cout<<"7) Odczytaj z pliku"<<endl;
cout<<"8) Koniec pracy"<<endl;
}
void DodajOsobe(struct Osoba *tmp,struct Osoba *head,struct Osoba *tail,string PodaneImie,string PodaneNazwisko,string PodanyAdres,string PodaneMiasto,string PodaneInneDane,int PodanyDzien,int PodanyMiesiac,int PodanyRok)
{
tmp=new Osoba;
tmp->Imie=PodaneImie;
tmp->Nazwisko=PodaneNazwisko;
tmp->Data.Dzien=PodanyDzien;
}