Я хочу инициализировать массив 2d, число его элементов в каждой строке не является константой.
Что-то вроде: int a[][] = {{1,2,3}, {4,5}};
Как мне это достичь?
Вы не можете достичь этого, используя исходный массив 2d. Вы можете использовать вектор, содержащий другие векторы. Например, в вашем случае вы можете:
std::vector<std::vector<int>> a = { {1, 2, 3}, {4, 5} };
const
. Если вы хотите, чтобы количество элементов изменилось, вы должны использовать другую структуру данных, например,vector
.