Первая инициализация. Второй - попытка присвоения, но массивы не могут быть назначены.
Вы могли бы сделать что-то вроде:
arrays vec_2 = {{1,2,3}, {3,4,5}, {4,5,6}};
Если вы хотите инициализировать vec_2.x, то вы можете просто оставить остальную часть Инициализаторы:
arrays vec_2 = {1,2,3};
В этом случае, остальная часть vec_2
будет инициализирована, чтобы содержать нули.
Хотя вы должны включить хотя бы один набор фигурных скобок вокруг инициализаторов, вам не нужно включать «внутренние», если вы этого не хотите. Включение их может дать вам немного дополнительной гибкости. Например, если вы хотите инициализировать первые два элемента в vec_2.x и первый в vec_2.y, вы можете использовать:
arrays vec_2 = {{1,2}, {3}};
В этом случае вы получите vec_2
набор, как если вы» d использовал {1, 2, 0, 3, 0, 0, 0, 0, 0};
в качестве инициализатора.
Потому что уже создано. –
Второй недействителен C++. Попробуйте следующее: 'int vec_1 [3];' follow_vec_1 = {1, 2, 3}; 'Это также не будет компилироваться по той же причине. – Chad