Вы не можете иметь многомерный массив, используя arr[][]
, потому что вы должны заранее объявить размер массива.Например, допустимо следующее, но массив только частично инициализирован :
#include <iostream>
int main() {
int arr[][4] = {
{ 1, 2, 3 },
{ 4, 5 },
{ 6, 7, 8, 9},
};
for (int i = 0; i < 3; ++i)
{
for (int j = 0; j < 4; ++j)
{
std::cout << arr[i][j] << std::endl;
}
}
}
Другой альтернативой является динамическое объявление массива:
int* arr[3] {
new int[4] { 1, 2, 3 },
new int[2] { 4, 5 },
new int[4] { 6, 7, 8, 9},
};
Youили, конечно, потребуется запись длины массива и впоследствии необходимо освободить память!
И все это при условии, что вы не можете использовать std:vector
, что было бы идеально.