Dynamiczna pamięć/struktury
Ostatnio zmodyfikowano 2014-01-12 18:14
Lamacz Temat założony przez niniejszego użytkownika |
Dynamiczna pamięć/struktury » 2014-01-10 21:10:57 Witam Próbując napisać mój program zetknąłem się z jednym problemem. Mam coś takiego: struct Samochod { string ID; };
struct Miejsce { Samochod * klient; }; struct Parking { Miejsce parking[ 50 ]; };
Parking firma;
Po stworzeniu obiektu firma chciałbym zwiększyć ilość miejsc na parkingu ale nie wiem jak to mam zrobić skoro tablica jest w strukturze. Wcześniej to zrobiłem tak, że nie tworzyłem struktury Parking tylko stworzyłem dynamiczną tablice przechowującą obiekty typu Miejsce, ale w poleceniu mam wyraźnie napisane, że to musi być tablica w trzeciej strukturze Parking. Jak zwiększyć ilość miejsc? Pozdrawiam. |
|
Lamacz Temat założony przez niniejszego użytkownika |
» 2014-01-11 12:04:42 Wie ktoś może jak to rozwiązać? |
|
Monika90 |
» 2014-01-11 12:27:40 std::vector < Miejsce > parking;
|
|
Lamacz Temat założony przez niniejszego użytkownika |
» 2014-01-11 13:04:17 A co wtedy ze strukturą Parking? Jeżeli stworze wektor typu Miejsce. W poleceniu jest napisane, że ma to być struktura parking zawierająca tablice przechowującą obiekty typu Miejsce. |
|
RazzorFlame |
» 2014-01-11 16:28:16 Umieść wektor w strukturze? |
|
Maddivue |
» 2014-01-11 19:23:16 << Removed >> Załóż własny temat. |
|
Lamacz Temat założony przez niniejszego użytkownika |
» 2014-01-12 16:56:29 Dziękuję Napotkałem się jeszcze na jeden problem: struct Samochod { string ID; };
struct Miejsce { Samochod * klient = new Samochod; }; struct Parking { vector < Miejsce > firma; };
Parking firma; firma.parking.resize( 50 );
Przy takim zapisie jeżeli coś chcę później zapisać do zmiennej ID nie ma żadnego problemu tylko ten zapis przepuszcza code::blocks, a Visual już nie. Natomiast przy takim zapisie: struct Samochod { string ID; };
struct Miejsce { Samochod * klient; }; struct Parking { vector < Miejsce > firma; };
Parking firma; firma.parking.resize( 50 );
Po próbie zapisu czegoś do zmiennej lub odczytaniu wyrzuca błąd pamięci. Teraz moje pytanie jak stworzyć później w biegu za pomocą operatora "new" stworzyć tą zmienną ID? |
|
Monika90 |
» 2014-01-12 17:15:38
struct Miejsce { Samochod * klient = new Samochod; };
ten zapis przepuszcza code::blocks, a Visual już nie
|
masz starą wersję kompilatora, zdefiniuj konstruktor to będzie działać w obu struct Miejsce { Miejsce() : klient( new Samochod ) { } Samochod * klient; };
tylko pytanie: po co w ogóle wskaźnik? |
|
« 1 » 2 |