Cześć!
mam następujący problem:
podczas takiej deklaracji kompilator wyrzuca mi bład:
(tmp->(nazw_p->next))
tmp to wskaznik do obiekt typu Statek, nazwa_p to wskaźnik do obiekt typu Port, a next to pole obiektu Port będące wskanikiem do obiektu typu Statek... troche to zawiłe, ale mam nadzieje ze ktos mi pokaze prawidłowy sposob odwołania się do tego obiektu. Takie cos potrzebne jest mi do stworzenia listy obiektów typu Statek,
Kod:
class Port
{
Statek *statek;
Statek *next;
Przystan przyst;
string nazwa;
int rozmiar;//ile statkow moze przyjac
int liczba_zacumowanych;
public:
static int il_portow;
Port(int rozm,string nazw, string nazw1);
~Port();
void wplywa_statek(Statek *nazw, Port *nazw_p);
void statek_wyplywa(Statek *nazw);
void statki_w_porcie();
class Statek
{ string nazwa_s;
int liczba_pasazerow;
//Statek *next;
// Statek(Statek &wzor);
public:
static int liczba_statkow;
Statek(string nazw, int l_pas);
~Statek();
void pokaz_statki();
void dane_statku();
void wczytaj (istream& odcz);
void zapisz(ostream& os);
};
funkcja:
void Port::wplywa_statek(Statek *nazw, Port *nazw_p)
{
nazw_p->next=NULL;
cout<<"Do portu "<<nazwa<<" wplywa statek ";
if(!statek)
statek=nazw;
else
{ Statek *tmp = nazw_p->statek;
while(tmp->(nazw_p->next))
tmp=tmp->(nazw_p->next);
(tmp->(nazw_p->next))=statek;
}
statek->dane_statku();
++liczba_zacumowanych;
}
jesli ktos moze to sprawdzic i powiedziec, jak to zrobic i czy w ogóle to sie kupy trzyma, to by było super
z góry wielkie dzięki!