Zaalokuj pierwszy wymiar, a później dla każdego elementu alokuj tablicę drugiego wymiaru.
Jakby nie było, tablica dwuwymiarowa to tablica tablic.
Jeśli nie masz narzutu na gołe tablice, użyj std::vector
.
Można nawet jednowymirową z intefejsem dwuwymiarowej.
edit:
std::vector<int> vec;
for (int i = 0; i < w; ++i) {
for (int j = 0; j < k; ++j) {
vec.push_back(i + j);
}
}
for (int i = 0; i < w; ++i) {
for (int j = 0; j < k; ++j) {
std::cout << vec[i * k + j] << ' ';
}
std::cout << '\n';
}
Wstawiłem std::vector
z interfejsem tablicy dwuwymiarowej.
0 1 2 3 4
1 2 3 4 5
2 3 4 5 6
http://melpon.org/wandbox/permlink/EiEfXTZoXS2xsDva