Skocz do zawartości

wielowymiarowa tablica


Prochor

Recommended Posts

  • 4 weeks later...
y0yster napisał:
wystarcz taki kodzio:

char *wsk;
wsk = new char [] [];
//...
delete wsk;

to jest tablica dwu wymiarowa jesli chcesz troj wymiarowa to wystarczy jeszcze jeden nawias kwadratowy i to styknie

niee, tak nie mozna zrobic, bo jest to sprzecze z zasadami jezyka, sprobowales zkompilowac sobie ten kod?

Jesli nic nie wstawisz w nawiaszach, kompilator wywali, ze size of char[] is unknown or zero,
JEsli co jednak wstawisz: cannot convert "char*[wymiar]' to 'char*'

A poza tym miesieczny kotlet ;-)

pzdr

Link do komentarza
Udostępnij na innych stronach

  • 2 weeks later...
one_eddie napisał:
sedef ma racje podany przyklad jest bledny powinno byc:
int** mxData = new int[a];
for (int i = 0; i < a; ++i)
   mxData[i] = new int[b];

Dostajesz macierz o rozmiarze axb
Ze zwalnianiem podobnie

A nie powinno być

int** mxData = new (int *)[a];
for(int i = 0; i < a; i++)
    mxData[i] = new int[b];

for(int i = 0; i < a; i++)
    delete [] mxData[i];
delete [] mxData;

bądź

int * mxData = new int[a];
for(int i = 0; i < a; i++)
    mxData[i] = (int)(new int[b]);

for(int i = 0; i < a; i++)
    delete [] (int *)mxData[i];
delete [] mxData;

Obie metody są jednakowo dobre, gdyż każdy wskaźnik można przedstawić za pomocą liczby :) Sprawdzałem i w obu przypadkach mój gcc-3.3.4 nie zgłaszał błędów :)

Link do komentarza
Udostępnij na innych stronach

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...