Rudy Opublikowano 23 Kwietnia 2010 Opublikowano 23 Kwietnia 2010 No właśnie, jak zadeklarować stworzenie tablicy, w której o ilości tych członów decyduje zmienna? czyli: unsigned short value1 = 5; unsigned short value2 = 3; ... int array [value1][value2]; przy czym między kropkami te zmienne mogą się zmienić.
Konrad-GM Opublikowano 23 Kwietnia 2010 Opublikowano 23 Kwietnia 2010 Do tego trzeba utworzyć dynamiczną tablicę po przez operator "new[]" Tylko nie zapomnij jej zwolnić ( "delete[]" )!!!
Rudy Opublikowano 23 Kwietnia 2010 Autor Opublikowano 23 Kwietnia 2010 A dynamiczna tablica może być dwuwymiarowa? Bo wyskakuje błąd, wnioskuję, że chodzi właśnie o to, że jest dwuwymiarowa, nie zwykła: kod: unsigned short value1 = 5; unsigned short value2 = 3; ... int *array = new int [value1][value2]; ... delete[] array; error: cannot convert `int (*)[10]' to `int*' in initialization
Snake Opublikowano 23 Kwietnia 2010 Opublikowano 23 Kwietnia 2010 Tablicę 2D alokujesz w taki sposób: int columnCount = 10; int rowCount = 100; int** array = new int*[columnCount]; for ( int i = 0; i < columnCount; ++i ) array[i] = new int[rowCount]; array[1][23] = 123; array[2][34] = 234; cout << array[1][23] << endl << array[2][34] << endl; for ( int i = 0; i < columnCount; ++i ) delete [] array[i]; delete [] array; taka tablica tablic :P
Rudy Opublikowano 23 Kwietnia 2010 Autor Opublikowano 23 Kwietnia 2010 Ymmm... sprytnie :) Dziex wszystkim za pomoc i wyjaśnienie :thumbsup: To chyba jeszcze nie wszystko... Najpierw przedstawię wszystko, co dzieje się z tą tablicą: Tu był kodzik, ale jest już przestarzały :) Mimo iż przed WM_DESTROY musi być stworzone okno, kompilator tego nie przepuści. I jak tu coś takiego zrobić? Najlepiej byłoby jakoś zadeklarować powstawanie tablicy jako globalnej, przed wszystkimi funkcjami. Ale czy tak można? Tzn. czy można zadeklarować tablicę globalną (dynamiczną), i dopiero później przypisać jej, ile ma mieć miejsc? Ok, poradziłem sobie. Na początku deklaruję tylko wskaźnik, potem (po rozpoczęciu main) przypisuje jej tablice, na końcu main ją zwalniam.
Rekomendowane odpowiedzi