Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Powiększenie tablicy dynamicznej w funkcji

Ostatnio zmodyfikowano 2016-03-10 22:20
Autor Wiadomość
komert44
Temat założony przez niniejszego użytkownika
Powiększenie tablicy dynamicznej w funkcji
» 2016-03-10 18:17:14
Mam taki problem, jest klasa music, w funkcji main() mam:

music *p = new int;

następnie przekazuję p do funkcji, która ma wczytać dane z pliku do klasy.

W main:

fstream file;
readF(p, file)



w funkcji do której przekazuję adres tablicy:

void readF(music* p, fstream &file){

p = new music; // TO NIE DZIAŁA

}


Ktoś ma jakiś pomysł jak rozszerzyć tablicę dynamiczną w funkcji do której przekazałem jej adres?

[edit]
wczytywanie też nie działa, dane z pliku pobieram jednak nie zostają one w klasie music po wyjściu z funkcji. To musi być problem z przekazaniem tablicy dynamicznej tylko nie wiem gdzie robię błąd...
P-145864
mateczek
» 2016-03-10 18:47:36
za-alokować nową !! przekopiować starą do nowej jeśli potrzeba, A następie zwolnić starą.
C/C++
music * p = new int; // co to jest ??

//tablica to tak
int * p = new int[ 100 ]; // tablica na 100 zmiennych int
// lub tak
music * p = new music[ 100 ] // tablica na 100 obiektów typu music

void readF( music * & p, fstream & file ) {
    //wskaźnik przez referncję musisz przekazać
    delete[] p;
    p = new music[ ile ];
}
P-145865
carlosmay
» 2016-03-10 19:08:57
=
P-145867
mateczek
» 2016-03-10 19:09:50
@up dzięki :)
P-145868
komert44
Temat założony przez niniejszego użytkownika
» 2016-03-10 22:20:31
@mateczek

Dziękuję serdecznie :) Tyle się z tym bawiłem :)
P-145885
« 1 »
  Strona 1 z 1